使用日期和时间的SQL查询

时间:2013-03-27 04:57:39

标签: sql

我需要一些查询帮助。

我想将GETDATE用作今天的日期,并指定上午6:00至下午6:00的小时

例如:

where t_stamp between "current date 06:00:00" and "current date 18:00:00"

2 个答案:

答案 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