呈現如下:
解法一:
select to_char(start_date, 'iyyy') || 'W' || to_char(start_date, 'iw') week_no, to_char(start_date, 'yyyy/mm/dd') start_date, to_char(end_date, 'yyyy/mm/dd') end_date from (select next_day(sysdate, 3) - rn * 7 start_date, (next_day(sysdate, 3) - (rn - 1) * 7) - 1 end_date from (select rownum rn from dual connect by level <= 53))重點說明:
- 使用connect by level <= 53 去生出53筆資料 ,rownum依序呈現1,2,3,4....等數據。
- 使用next_day去指定週二為一週的起始日期。
- 使用to_char()參數選用iyyy與iw去指定使用iso的週別定義方式轉換週別。
沒有解法二阿 ?
回覆刪除很贊的程式,感謝你!剛剛好很急需。
回覆刪除