我找到了类似的帮助,但问题更复杂,我只擅长SQL的基础知识,在这里引人注目。 我得到了一些列a,b,c,startdate,enddate,我需要根据该范围内的月数将该数据解析为多行。
例如:a,b,c,1/1/2015,3/15,2015将变为:
a,b,c,1/1/2015,value_here_doesnt_matter
a,b,c,2/1/2015,value_here_doesnt_matter
a,b,c,3/1/2015,value_here_doesnt_matter
开始日期或结束日期是在特定日期并不重要,唯一重要的是月份和年份。 因此,如果范围包括给定月份中的任何一天,我希望输出该范围内每个月的开始日,并将 1 日作为默认日期。
我能对从哪个方向开始有任何建议吗?我正在尝试generate_series,但不确定这是否是正确的方法,或者如何使其与前几列任意列中的数据保持一致。
我认为generate_series
是要走的路。 在不知道其余数据是什么样子的情况下,我会从这样的东西开始:
select
a, b, c, generate_series(startdate, enddate, interval '1 month')::date
from
my_table