I have a table called Timezone, and the data looks like this:
Call_ID Start_Time 93856 2011-08-04 09:59:47.000 58796 2011-08-05 14:54:37.000 25489 2011-08-09 15:32:13.000
I want the result to be as follows:
Call_ID Start_Time Interval 93856 2011-08-04 09:59:47.000 0930 58796 2011-08-05 14:54:37.000 1430 25489 2011-08-09 15:32:13.000 1530
I did something like this:
Select Call_ID , Start_Time, CASE WHEN DATEPART(minute,Start_Time)>30 THEN RIGHT('0' + CAST(DATEPART(HOUR,Start_Time) AS VARCHAR),2) + '30' ELSE RIGHT('0' + CAST(DATEPART(HOUR,Start_Time) AS VARCHAR),2) + '00' END From Timezone Group By Call_ID , Start_Time, CASE WHEN DATEPART(minute,Start_Time)>30 THEN RIGHT('0' + CAST(DATEPART(HOUR,Start_Time) AS VARCHAR),2) + '30' ELSE RIGHT('0' + CAST(DATEPART(HOUR,Start_Time) AS VARCHAR),2) + '00' END
Is there a better way to do this?
source share