sql - Postgresql:将时间四舍五入到最近的 15 分钟范围(0,15,30,45)
问题描述
从这篇文章的回答中,我date_time::timestamp - INTERVAL '1 HOUR'
在 select 语句中有一个 datetime 列。
我想要做的是,我想创建一个 15 分钟范围的间隔 (0, 15,30,45) 所以,结果应该是 2019-04-21 09:00:00 或 2019-04- 21 09:15:00 以此类推。结果应更改为最接近的时间,即 00:00 至 07:29 分钟将向下舍入为 00:00,07:30 至 15:00 将向上舍入为 15:00。这适用于 15、30还有45个
所以从2019-04-21 09:52:29
应该成为2019-04-21 09:45:00
并且2019-04-21 09:52:30
应该成为2019-04-21 10:00:00
我已经搜索并找到了date_trunc
功能,但我不知道如何根据我的具体情况去做。
谢谢!
编辑:我查看了重复的帖子和一些答案。我找到了使用 dateadd 和 datediff 函数的答案,但这些函数不能与 postgresql 一起使用。
select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)
如何将此应用于 postgresql ?
Edit2:有一些解决方案使用创建函数来向上和向下舍入,但上面的要好得多。
解决方案
推荐阅读
- java - OneSignal 操作按钮
- javascript - React-leaflet 获取 ctrlKey 按下事件
- c - 为什么需要强制转换指针算术?
- c# - Azure 数据工厂 v2:无法通过 c# 代码创建复制活动
- java - /opt/chromeos/chromedriver: /lib64/libc.so.6: 在 linux 上使用 chromium 浏览器找不到版本“GLIBC_2.15”(/opt/chromeos/chromedriver 需要)
- javascript - 松弛访问令牌
- css - 无限循环前后的动画延迟CSS3
- javascript - 在 IE 11 中禁用 cookie 时提示消息的 javascript 代码
- arrays - 在 Kotlin 中打印多维数组?
- eclipse - 我在 ubuntu 上的 eclipse neon 中创建 maven 项目时出错