在Postgresql中从当年的月份名称获取开始日期和结束日期

时间:2020-06-11 11:14:49

标签: sql postgresql

我有一个表postgres,其中有以下记录。

**Production_Quarter , January, February, March**
First                  $267     $256     $567

Expected Output
**Production_Quarter , Target, Start_date,  End_Date**
First                  $267     01-01-2020  31-01-2020
First                  $256     01-02-2020  29-02-2020
First                  $567     01-03-2020  31-03-2020 

基本上,我想使用存储过程以该月的开始日期和结束日期的形式来转换每个月的财务数字,尝试对其进行转换,但是无法做到。任何人都可以帮忙!

1 个答案:

答案 0 :(得分:1)

您可以使用横向连接:

select t.Production_Quarter, v.*
from t cross join lateral
     (values (january, '2020-01-01'::date, '2020-01-31'::date),
             (february, '2020-02-01'::date, '2020-02-29'::date),
             (march, '2020-03-01'::date, '2020-03-31'::date)
     ) v(target, start_date, end_date);