sqlserver生成特定区间的时间变量

查询区间前一个小时
1
2
3
4
5
DECLARE @start DATETIME
DECLARE @end DATETIME

SET @end = CONVERT(DATETIME, CONVERT(VARCHAR(14), GETDATE(), 120) + '00:00')
SET @start = DATEADD(HOUR, -1, @end)

昨日凌晨0点到今日凌晨0点

1
2
3
4
5
6
7
DECLARE @beginTime DATETIME
DECLARE @endTime DATETIME

SET @endTime = DATEADD(DAY, 0, DATEDIFF(DAY, 0, GETDATE()))
SET @beginTime = DATEADD(DAY, -1, @endTime)

SELECT @beginTime, @endTime