ex:
1.按照30分钟规整
1-1.
declare @dt datetime
set @dt = '2008-2-2 12:12:13'
select dateadd(minute,datediff(minute,0,@dt)/30*30,0)
-- 2008-02-02 12:00:00.000
set @dt = '2008-3-4 9:45:28 '
select dateadd(minute,datediff(minute,0,@dt)/30*30,0)
1-2. 先时间, 然后分钟进行规整
select cast ( convert( varchar(14) , @dt , 121 ) + case when DATEPART (minute , @dt) >= 30 then '30' else '00' end + ':00' as datetime )
datepart Return: Int