首頁 >資料庫 >mysql教程 >如何將 T-SQL 日期時間值捨去到最接近的分鐘或小時?

如何將 T-SQL 日期時間值捨去到最接近的分鐘或小時?

Linda Hamilton
Linda Hamilton原創
2025-01-11 10:06:40692瀏覽

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

精確到分鐘和小時的 T-SQL 日期時間舍入

本文介紹如何在 T-SQL 中將 datetime 值舍入到最接近的分鐘或小時。

捨入到最接近的分鐘和小時

要將 datetime 值捨去到最接近的分鐘,請使用以下公式:

<code class="language-sql">dateadd(mi, datediff(mi, 0, @dt), 0)</code>

其中,@dt 代表輸入的 datetime 值。

類似地,要捨去到最接近的小時,請使用:

<code class="language-sql">dateadd(hour, datediff(hour, 0, @dt), 0)</code>

這些函數將截斷結果 datetime 值中的秒或毫秒。

範例:

對於給定的輸入 datetime 值 '2007-09-22 15:07:38.850',捨入後的結果為:

<code>2007-09-22 15:07:00.000 (舍入到最接近的分钟)
2007-09-22 15:00:00.000 (舍入到最接近的小时)</code>

向上或向下捨去

如果您想向上或向下舍入,可以在截斷之前分別添加半分鐘或半小時:

<code class="language-sql">dateadd(mi, datediff(mi, 0, dateadd(s, 30, @dt)), 0)
dateadd(hour, datediff(hour, 0, dateadd(mi, 30, @dt)), 0)</code>

在這種情況下,捨入後的結果變成:

<code>2007-09-22 15:08:00.000 (向上舍入到最接近的分钟)
2007-09-22 16:00:00.000 (向上舍入到最接近的小时)</code>

以上是如何將 T-SQL 日期時間值捨去到最接近的分鐘或小時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn