我必须生成一个列表,其中包含特定时期内每个月的两列日间隔。第一列必须是该月的第一天,第二列必须是该月的最后一天。
Example:
开始日期:2014-01-01
结束日期:2014-06-30
结果应该分为两列:
1. 2014-01-01 | 2014-01-31
2. 2014-02-01 | 2014-02-28
3. 2014-03-01 | 2014-03-31
4. 2014-04-01 | 2014-04-30
5. 2014-05-01 | 2014-05-31
6. 2014-06-01 | 2014-06-30
我有两个函数可以获取日期的第一天和最后一天。
我正在尝试将两个系列结合起来,但没有成功。
select i::date
from generate_series(first_day('2014-01-01')
,first_day('2014-06-30'), '1 month'::interval) i
select i::date
from generate_series(last_day('2014-01-01')
,last_day('2014-06-30'), '1 month'::interval) i
第二个函数在系列中时无法正确显示最后一天。
基于这个答案:
select d::date as start_date,(d + '1 month'::interval - '1 day'::interval )::date end_date
from generate_series('2014-01-01'::date, '2014-06-30'::date, '1 month'::interval) d
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)