0

我需要一些帮助来查询。

我想使用 GETDATE 作为今天的日期并指定上午 6:00 到下午 6:00 的时间

例如,类似:

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

4

2 回答 2

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)

丑我知道。同一个答案有大约一百万种不同的排列。

于 2013-03-27T05:08:02.947 回答
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
于 2013-03-27T05:04:25.380 回答