因為天生很懶,不想用多個sql ,只好到處想有什麼語法可以達成目的。Oracle decode函數滿足了我的需求:
SELECT DECODE(TO_CHAR(SYSDATE, 'DD'),
'01', TO_CHAR(SYSDATE-10, 'YYYYMM') || '01', -- 1 日
'02', TO_CHAR(SYSDATE-10, 'YYYYMM') || '01', -- 2 日 都以上個月的一日為資料起算日.
TO_CHAR(SYSDATE, 'YYYYMM') || '01') -- '03' 之後以該月份.
FROM DUAL