添加weekno 2年数据

时间:2013-03-09 06:01:49

标签: sql oracle date-arithmetic

如何为两年的数据添加weekno,对于第二年的记录应该有weekno从54开始,因为第一年有53周。

我用过

to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'WW+53') as weekno

但它似乎无法正常工作

1 个答案:

答案 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