日付の丸め
SQL Server には、月・時・分単位で直感的に切り捨て(丸め下げ)る方法がありません。しかし、DATEADD() と DATEDIFF() を組み合わせることで、この丸めを実現できます。
日付 1914-08-16 を年単位で切り捨てるには、DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0) を呼び出します。
月単位で切り捨てるには、DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0) を呼び出します。
この方法は、他のいくつかの日付要素にも応用できます。
この演習はコースの一部です
SQL Serverで学ぶ時系列分析
演習の手順
DATEADD()とDATEDIFF()を日付要素と組み合わせて、時刻を日・時・分単位で切り捨ててください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
DECLARE
@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';
-- Fill in the appropriate functions and date parts
SELECT
DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;