Oracle DB 中 IW 與 WW Date Type 的差異

在 Oracle Database 的日期格式中,

若要取得某個日期是今年的第幾週,

可以用 IW 或 WW 取得,

而這兩者有何差異呢 ?

WW 是 "以 1 月 1 日為第一週的第一天"

IW 是 "以星期一為一週的開始, 也就是 1 月 1 日後的星期一為第一週的第一天"

 範例
select to_char( to_date('2010-01-01', 'YYYY-MM-DD'), 'WW' )
from dual;

-- 結果: 01 (從 1 月 1 日開始算第一週)

select to_char( to_date('2010-01-01', 'YYYY-MM-DD')+7, 'WW' )
from dual;

-- 結果: 02

select to_char( to_date('2010-01-01', 'YYYY-MM-DD'), 'IW' )
from dual;

-- 結果: 53 (這一年的 1 月 1 日算在去年的最後一週之內)

select to_char( to_date('2010-01-01', 'YYYY-MM-DD')+3, 'IW' )
from dual;

-- 結果: 01


Related Posts Plugin for WordPress, Blogger...