Oracle 星期(週末處理)
阿新 • • 發佈:2019-02-01
Oracle 星期規則是按國外的來的,國外一週第一天是週日,所以,直接查當前星期會是實際加一天
SELECT to_char(SYSDATE, 'd') FROM dual WHERE 1 = 1
要想顯示正確的,就需要在此基礎上減一天
SELECT to_char(SYSDATE - 1, 'd') FROM dual WHERE 1 = 1
不過,我們也可以直接查詢出英文的結果
--可輸入各國國名,查對應語言星期
SELECT to_char(SYSDATE, 'day', 'NLS_DATE_LANGUAGE=AMERICAN') DAY FROM dual WHERE 1 = 1;
直接查出中文結果也是可以的
SELECT to_char(SYSDATE, 'day') DAY FROM dual WHERE 1 = 1;
如果你想獲取一個時間段間存在的週末天數,可以像下面這種方式來獲取SELECT * FROM (WITH t AS (SELECT rownum - 1 rn FROM dual CONNECT BY rownum <= end_date - start_date) SELECT COUNT(*) FROM t WHERE 1 = 1 AND to_char(start_date + rn, 'd') IN ('6', '7'))