如何为两年的数据添加weekno,对于第二年的记录应该有weekno从54开始,因为第一年有53周。
我用过
to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'WW+53') as weekno
但它似乎无法正常工作
答案 0 :(得分:1)
to_number(to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'WW'))+53 as weekno
但最好使用IYYY和IW进行适当的周编号。
case to_number(to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'IYYY'))
when 2012 then to_number(to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'IW'))
when 2013 then to_number(to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'IW')) + 52
end as weekno