1. ホーム
  2. sql

[解決済み] SQLのDateTimeを真夜中に丸める

2023-03-17 14:50:03

質問

SQLクエリで小さな問題があります。GETDATE関数を使用していますが、例えば午後5時にスクリプトを実行すると、2011年12月12日午後5時から2011年12月18日午後5時までのレコードがプルアップされることになります。どうすれば、2011年12月12日から2011年12月18日まで、基本的に時間を無視してレコードを引き出すことができるのでしょうか。

私のスクリプトです。

WHERE Orders.OrderStatus = 'Shipped'  
AND Orders.ShipDate > (GETDATE()-6)  

どのように解決するのですか?

SQL Server 2008 以降のバージョンでは DateTimeDate に変更することで、time 要素が削除されます。

WHERE Orders.OrderStatus = 'Shipped'  
AND Orders.ShipDate >= (cast(GETDATE()-6 as date))  

SQL Server 2005以下では、使用することができます。

WHERE Orders.OrderStatus = 'Shipped'  
AND Orders.ShipDate >= DateAdd(Day, Datediff(Day,0, GetDate() -6), 0)