ホームページ > データベース > mysql チュートリアル > T-SQL で DateTime 値を最も近い分または時間に四捨五入するにはどうすればよいですか?

T-SQL で DateTime 値を最も近い分または時間に四捨五入するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-11 11:28:40
オリジナル
189 人が閲覧しました

How to Round DateTime Values to the Nearest Minute or Hour in T-SQL?

日時値を 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート