精確到分鐘和小時的 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中文網其他相關文章!