這個算法的結果依賴于當前系統(tǒng)時間是什么時候…假設按照你說的,當前系統(tǒng)時間是星期六,那么它計算的結果就是說這個星期六是本月的第幾個星期六。就拿12月來說,12月1日是星期六哦,所以你在12月1號查的時候它結果會是1哦,但是12月2日的時候,你查周日,它的結果仍然是1哦,因為是本月第一次出現(xiàn)的星期日哦!只有當你查12月8日的時候,才開始出現(xiàn)結果2哦…其實你可以在系統(tǒng)里選一些特殊的時間查一下就可以發(fā)現(xiàn)規(guī)律
10年積累的成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有孝昌免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
1、首先可以直接用datepart函數(shù),第一個參數(shù)設置成weekday就可以了。
2、得到的結果是這一天是這周的第幾天,注意星期日是第一天。
3、可以看到去掉星期日就是日期的星期幾了。
4、然后在實際使用的時候就可以直接減去1就可以了。
5、另外datepart第二個參數(shù)也可以直接放getdate。
6、最后得到的結果也是需要的日期。
select to_char(sysdate,'day') day from dual;
會顯示中文,例如: 星期二
select to_char(sysdate,'d') day from dual;
會顯示是一周的第幾天,不過外國星期日才是第一天,所以如果你把周一當?shù)谝惶斓脑挘枰?/p>
select to_char(sysdate-1,'d') day from dual;
比如星期一到星期天算一周 查2011年7月完整周數(shù) select max(count1) - 1 from (SELECT count(1) count1 FROM DUAL WHERE TO_CHAR(ADD_MONTHS(LAST_DAY(to_date('201107', 'yyyyMM')), -1) + LEVEL, 'DAY') = '星期一' CONNECT BY LEVEL