If you are dealing with numbers, the easiest way is to multiply by 2, take the ceiling (round to the nearest integer), and then divide by 2.
Select Ceiling(1.2 * 2) / 2
Select Ceiling(1.6 * 2) / 2
Since your question is referred to as “whole or half an hour”, here is some code that takes into account DateTime data:
Declare @Temp Table(Data DateTime)
Insert Into @Temp Values('20131114 11:00')
Insert Into @Temp Values('20131114 11:15')
Insert Into @Temp Values('20131114 11:30')
Insert Into @Temp Values('20131114 11:45')
Insert Into @Temp Values('20131114 11:59')
Select Data, DateAdd(Minute, Ceiling(DateDiff(Minute, '0:00', Data) / 30.0) * 30, '0:00')
From @Temp
source
share