日時値を T-SQL の最も近い分または時間に丸めます
T-SQL には、日時値を最も近い分または時間に丸める組み込み関数が用意されています。四捨五入された値は、データ分析とレポート生成に役立ちます。
日時値を最も近い分に四捨五入するには、次の式を使用します:
dateadd(mi, datediff(mi, 0, @dt), 0)
@dt
は、四捨五入される日時値を表します。
たとえば、値「09-22-2007 15:07:38.850」を最も近い分に四捨五入すると、「2007-09-22 15:07:00.000」になります。
日時値を最も近い時間に四捨五入するには、次を使用します:
dateadd(hour, datediff(hour, 0, @dt), 0)
この数式は、日時値から秒と分を効果的に切り捨てます。同じ例を使用すると、「09-22-2007 15:07:38.850」を最も近い時間に四捨五入すると、「2007-09-22 15:00:00.000」になります。
さらに、切り上げの前に日時値に 30 分または 30 分を追加することで、切り上げまたは切り捨てを行うことができます。
例:
select dateadd(mi, datediff(mi, 0, dateadd(s, 30, @dt)), 0) select dateadd(hour, datediff(hour, 0, dateadd(mi, 30, @dt)), 0)
結果は次のとおりです:
<code>2007-09-22 15:08:00.000 2007-09-22 15:00:00.000</code>
SQL Server 2008 で日付データ型が導入される前は、同様の手法を使用して日時値の時、分、秒の部分を切り捨てて日付のみを取得していました。この考え方は、日時と固定時点 (0、1900-01-01 00:00:00.000 を意味します) との間の日数を決定することです。この日数を固定時点に加算すると、時刻が 00:00:00.000 に設定された元の日付が得られます。
以上がT-SQL で DateTime 値を最も近い分または時間に四捨五入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。