Teradata SQL:在单个列中动态生成VARCHAR行

时间:2018-05-21 19:40:27

标签: sql teradata

我有这个脚本,每隔3个月生成一列中的日期:

select
    extract(year from end(pd)) * 100 + extract(month from end(pd)) as ym     
    ,last_day(end(pd)) as mth

    from sys_calendar.calendar               

    where calendar_date = date '2015-02-28'  
    expand on period(add_months(calendar_date,-3), add_months(calendar_date,12))
      as pd by interval '3' month

输出是:

ym      mth
201502  2015-02-28
201505  2015-05-31
201508  2015-08-31
201511  2015-11-30
201602  2016-02-29

我想添加一个如下所示的列:

    ym      mth         label
    201502  2015-02-28  Interval_0
    201505  2015-05-31  Interval_1
    201508  2015-08-31  Interval_2
    201511  2015-11-30  Interval_3
    201602  2016-02-29  Interval_4

有没有办法动态生成最后一列?此脚本的修改版本将成为查询的一部分,该查询将为分区表中的帐户提取month_end_date,然后在该month_end_date之外的3个月间隔内生成日期,为期1年。

输出需要进入电子表格进行进一步分析,“标签”列允许我将日期标记为属于某个间隔。

0 个答案:

没有答案