首页 >数据库 >mysql教程 >如何将 T-SQL 日期时间值舍入到最接近的分钟或小时?

如何将 T-SQL 日期时间值舍入到最接近的分钟或小时?

Linda Hamilton
Linda Hamilton原创
2025-01-11 10:06:40694浏览

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