sql - 在返回函数中返回间隔的结束?
问题描述
在这种情况下,9.24。PostgreSQL 9.5 手册的“设置返回函数”,只返回初始日期和时间。是否可以返回每个间隔结束的日期和时间?
SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00', '10 hours');
generate_series
---------------------
2008-03-01 00:00:00
2008-03-01 10:00:00
2008-03-01 20:00:00
2008-03-02 06:00:00
2008-03-02 16:00:00
2008-03-03 02:00:00
2008-03-03 12:00:00
2008-03-03 22:00:00
2008-03-04 08:00:00
(9 rows)
解决方案
这是你想要的吗?
SELECT gs.dte, LEAD(gs.dte) OVER (ORDER BY gs.dte) as next_dte
FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00',
'10 hours'
) gs(dte);
或者,如果您不想要NULL
最后一个间隔,请明确进行计算:
SELECT gs.dte, (gs.dte + interval '10 hours') as end_date
FROM generate_series('2008-03-01 00:00'::timestamp,
'2008-03-04 12:00',
'10 hours'
) gs(dte);
推荐阅读
- caching - 如何减少对服务器端认证授权平台的访问
- python-3.x - 我如何获得成员在 discord.py 中输入的命令
- regex - 如何在飞镖中用骆驼案来判案
- nebular - 如何在 ng2-smart-table 中动态添加自定义图标/css
- postgresql - 使用 postgres 超级用户创建 Postgres FDW,但对远程模式具有只读访问权限
- javascript - 导航栏下方的 Bootstrap 品牌图像重叠容器
- excel - 是否有一种简单的方法可以使用每天更新的 excel 文件来更新 PowerBI 仪表板?
- laravel - Laravel关系多对多过滤枢轴字段
- r - 如何在ubuntu中导入rstudio安装
- python - 使用 OpenCV 处理 Hololens2 实时预览帧