首页 > 数据库 > mysql教程 > 如何在 T-SQL 中将 HH:MM 时间值舍入为最接近的 15 分钟间隔?

如何在 T-SQL 中将 HH:MM 时间值舍入为最接近的 15 分钟间隔?

Mary-Kate Olsen
发布: 2025-01-10 14:12:42
原创
804 人浏览过

How to Round HH:MM Time Values to the Nearest 15-Minute Interval in T-SQL?

T-SQL 中将 HH:MM 时间值舍入到最接近的 15 分钟间隔

在数据分析中,将时间值舍入到最接近的指定间隔是一个常见任务。在本例中,我们的目标是将 HH:MM 值舍入到最接近的 15 分钟间隔。

无需用户自定义函数的方法

虽然使用用户自定义函数 (UDF) 或 CASE 语句是一种可行的方法,但还有一些更优雅的方法可以避免使用它们。其中一种方法是利用 DATEADD 和 DATEDIFF 函数:

<code class="language-sql">select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)</code>
登录后复制

此处,GETDATE() 表示当前日期时间值。DATEDIFF 函数计算当前时间与固定参考日期 0 之间的分钟差。然后,我们将此差除以 15 并乘以 15,以获得最接近的 15 分钟间隔。最后,DATEADD 函数将此间隔添加到参考日期,从而得到舍入后的时间值。

注意事项

此方法适用于仅与分钟相关且可以忽略秒的情况。由于潜在的溢出问题,它可以处理直到 5500 年的日期。但是,使用特定日期(例如,“2009-01-01”)或今天的日期作为参考点可以解决此限制。

示例

例如,使用上述方法将类似于“00:08:00”的时间戳舍入到最接近的 15 分钟间隔将得到“00:15:00”。类似地,“00:07:00”将舍入为“00:00:00”。

以上是如何在 T-SQL 中将 HH:MM 时间值舍入为最接近的 15 分钟间隔?的详细内容。更多信息请关注PHP中文网其他相关文章!

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