ORACLE根據(jù)月份如何獲取天數(shù)?
有幾周,把每個(gè)月的最后一天拼成串傳到如下SQL:
selectto_char(to_date('20111031','yyyymmdd'),'w')fromdual;
每周日期段沒找到直接的,可以自己寫個(gè)函數(shù):
1、獲取1號(hào)是周幾,如周4;
2、則1-4號(hào)為第一周,即1號(hào)+(7-4)天=4號(hào);
3、循環(huán):4+1=5號(hào)——4+7=11號(hào)為第二周;
直到:某周加完后的日期,大于該月的最大天數(shù),則取該月最大天數(shù)收尾,循環(huán)結(jié)束;
第二種方法是你建個(gè)存日期的表:
dateweek
……
20110101
20110102
……
里面存N年的日期,然后根據(jù)
selectto_char(to_date('20111031','yyyymmdd'),'w')fromdual;把week字段update進(jìn)去;
然后直接根據(jù)這張表寫SQL就直接獲取幾周,每周是幾號(hào)到幾號(hào)了。。。