2017-04-15 18 views
0

今日の日付から午前4時の次の日付までの注文データを取得しようとしています。特定の期間の注文データの取得

Start date : 14/4/2017 12:00 AM 
End date : 15/4/2017 4:00 AM 

Start date : 16/4/2017 12:00 AM 
End date : 17/4/2017 4:00 AM 

等...

どのように私はこれを達成することができますか? SQL-Server 2008および上記で

select * From Orders where BETWEEN and 
+0

表示するサンプルデータと望ましい結果を。 –

+0

どのsqlserverバージョンですか? – McNets

+0

バージョンは2012です – ayman

答えて

0

問合せ:

declare @start_date datetime = cast(getdate() as date); 
declare @end_date datetime = dateadd(hour, 4, dateadd(day, 1, @start_date)) 

select * 
from orders 
where dt between @start_date and @end_date 

は、基本的には、START_DATEする一日と4時間を追加します。

declare @start_date datetime = cast(getdate() as date); 
declare @end_date datetime = dateadd(hour, 4, dateadd(day, 1, @start_date)) 

select @start_date, @end_date; 
GO 

 
(No column name) | (No column name) 
:------------------ | :------------------ 
15/04/2017 00:00:00 | 16/04/2017 04:00:00 

dbfiddle here

0

二つの日付と特定の時間の間に注文を取得するには:

SELECT * FROM Orders WHERE date BETWEEN '14-04-17 00:00:00.00' AND '15-04-17 03:59:59.99' 
関連する問題