始める無料で始める

日付の丸め

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;
コードを編集して実行