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

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

Linda Hamilton
发布: 2025-01-11 10:06:40
原创
693 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板