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 であることを示しているようです。今後、この情報を含めてください。

多くの方法の1つはこれです:

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)

醜い私は知っています。同じ答えの約 100 万通りの順列があります。

于 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 に答える