目标: 根据当前日期输出给定时间范围的IW标准周日期列表。
所需输出:当前日期= 4/27/2012,过去7个IW周日期列表
答案 0 :(得分:5)
试试这个:
SELECT TRUNC(SYSDATE - (LEVEL * 7), 'IW') TheDate
FROM dual
CONNECT BY LEVEL <= 7
答案 1 :(得分:0)
目前我正在使用此代码生成列表。我很好奇是否有更好的解决方案。但是想为任何可能正在寻找的人提供这个解决方案。
SELECT DISTINCT
TRUNC(sysdate-(rownum+1),'iw') IW_week,
TO_CHAR(TRUNC(sysdate-(rownum+1),'iw'),'iw') AS week_num
FROM dual
CONNECT BY level <= 49
ORDER BY TRUNC(sysdate-(rownum+1),'iw');
当前输出: