我需要一些查询帮助。
我想将GETDATE用作今天的日期,并指定上午6:00至下午6:00的小时
例如:
where t_stamp between "current date 06:00:00" and "current date 18:00:00"
答案 0 :(得分:1)
GETDATE似乎表明它是SQL Server - 请在将来包含此信息。
许多方法之一就是:
where t_stamp between
CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),126) + 'T06:00:00',126)
AND
CONVERT(DATETIME,CONVERT(VARCHAR(10),GETDATE(),126) + 'T18:00:00',126)
丑陋,我知道。相同的答案大约有一百万种不同的排列。
答案 1 :(得分:0)
对于SQL Server 2008及更高版本:
declare @start datetime
declare @end datetime
set @start = dateadd( hh, 6, convert( datetime, convert(date, getdate()) ) )
set @end = dateadd( hh, 12, @start )
select @start, @end