關於按周統計資料(Oracle)

okone96發表於2007-01-04

方法1:使用to_char函式

select sum(sal) ,
to_char(HIREDATE,'yyyy')||':'||to_char(HIREDATE,'IW') week_sn
from scott.emp
group by to_char(HIREDATE,'yyyy')||':'||to_char(HIREDATE,'IW');

格式'IW'返回當前日期是當年的第幾周


方法2:使用next_day()函式

select sum(sal) ,
NEXT_DAY(trunc(HIREDATE),'星期一')-7 weekstart,
NEXT_DAY(trunc(HIREDATE),'星期一') weekend
from scott.emp
group by NEXT_DAY(trunc(HIREDATE),'星期一');

上面這個例子是在中文字符集下使用,如果在英文字符集下則使用:

select sum(sal) ,
NEXT_DAY(trunc(HIREDATE),'Monday')-7 weekstart,
NEXT_DAY(trunc(HIREDATE),'Monday') weekend
from scott.emp
group by NEXT_DAY(trunc(HIREDATE),'Monday');

兩種方法比較,第二種方法能夠方便的給出周開始和周結束日期,更方便些。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-888318/,如需轉載,請註明出處,否則將追究法律責任。

相關文章