精确到分钟和小时的 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中文网其他相关文章!