PostgreSQL 11中如何生成周五17:00至周日17:00的周末时间范围
PostgreSQL 11 生成周五17:00至周日17:00的周末时间范围
可以通过以下SQL语句直接生成你需要的两列时间范围:
SELECT dt + interval '17 hours' AS start, dt + interval '17 hours' + interval '2 days' AS stop FROM generate_series(date '2021-01-01', date '2021-12-31', interval '1 day') AS t(dt) WHERE extract(dow FROM dt) = 5;
语句说明:
generate_series(date '2021-01-01', date '2021-12-31', interval '1 day'):生成2021年全年的每一天日期WHERE extract(dow FROM dt) = 5:筛选出所有周五的日期(PostgreSQL中dow字段值为5代表周五,0为周日、1为周一,以此类推)dt + interval '17 hours':将周五的日期拼接17:00,得到周末时间段的起始时间dt + interval '17 hours' + interval '2 days':起始时间加上2天,得到对应的周日17:00结束时间
如果需要调整时间范围,只需修改generate_series中的起始和结束日期参数即可。
内容的提问来源于stack exchange,提问作者NinjaGaiden
相关产品推荐
相关产品推荐

