Postgresql 使用序列号生成函数 生成连续日期
发布时间:2020-12-13 17:39:23 所属栏目:百科 来源:网络整理
导读:项目中交易记录进行统计查询时,需要对一段时间连续日期内交易数据进行统计, 因为指定时间段内某些日期可能没有交易数据,所以需要补齐。 使用 postgresql序列生成函数,生成连续日期,再进行查询。 如下: 序列号生成函数 函数 参数类型 返回类型 描述 gen
项目中交易记录进行统计查询时,需要对一段时间连续日期内交易数据进行统计,
因为指定时间段内某些日期可能没有交易数据,所以需要补齐。 使用postgresql序列生成函数,生成连续日期,再进行查询。 如下: 序列号生成函数
网上有人的用法(如下),先计算日期相差天数,查询中进行日期累加,我觉得反而变复杂了 select to_char(cast('20081001' as date) + s.a,'yyyyMMdd') as 统计日期 from generate_series(0,cast('20081031' as date)-cast('20081001' as date),1) as s(a) postgresql中给的例子是: 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 to_char(a,'yyyyMMdd') FROM generate_series('2008-03-01'::date,'2008-03-04','1 days') as a;
"20080301"
"20080302"
"20080303"
"20080304"
满足现在使用场景。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |