Pgsql之查询一段时间内的所有日期

时间:2020-11-21 15:55:00 来源:互联网 作者: 神秘的大神 字体:

前几天干活儿的时候,项目中有这么个需求,需要用pgsql查询两个日期间的所有日期,包括年月日,下面贴代码:

1 select date(t) as day2 from 3 generate_series('2020-10-27'::date,'2020-11-03', '1 days') as t;

下面是执行效果,跨年跨月的情况也是没问题的:

 

下面咱们说下PostgreSql中generate_series函数的用法:

用处:他可以按照不同的规则来生成填充数据

语法:

 也可以用递归来做,其中recursive函数配合with查询来实现遍历,效率会更高一些:

1 with recursive t(n) as (2     select date('2020-10-27')3     union all 4     select n+1 from t where n < date('2020-11-03')5 )select n as day from t;

执行效果:

 

如果这篇博客帮助到了您,是我的荣幸,如果有好的想法,可以在评论区讨论哦。


原创作者:爱懒懒的小景景

来源:https://www.cnblogs.com/ailanlan/p/14015952.html