select * from tt where to_char(date1,'fmday') not in ('星期六','星期日')
select to_char(dt,'YYYY-MM_DD')||'至'||to_char(dt+4,'YYYY-MM_DD') from (select date'2009-1-1'+level-1 dt from dual connect by level<=date'2009-1-1'-date'2008-1-1') where to_char(dt,'D')=2 and rownum<=3;TO_CHAR(DT,'YYYY-MM_DD ---------------------- 2009-01_05至2009-01_09 2009-01_12至2009-01_16 2009-01_19至2009-01_23
Oracle10g,用sqlplusSQL>ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'; SQL>ALTER SESSION SET NLS_LANG=AMERICAN;SELECT to_char(mydate)||'至'||to_char(mydate+4) FROM ( SELECT TRUNC(SYSDATE, 'YEAR') + ROWNUM - 1 mydate FROM dual CONNECT BY ROWNUM < 366 ) WHERE TO_CHAR(mydate,'D')=2
SELECT to_char(mydate)||'至'||to_char(mydate+4) FROM ( SELECT TRUNC(SYSDATE, 'YEAR') + ROWNUM - 1 mydate FROM dual CONNECT BY ROWNUM < 366 ) WHERE TO_CHAR(mydate,'D')=2TO_CHAR(MYDATE)||'至'||TO_CHA ----------------------------- 26-10 02-11 09-11 16-11 23-11 30-11 07-12 14-12 21-12 28-12 52 rows selected.
where to_char(date1,'fmday') not in ('星期六','星期日')
(select date'2009-1-1'+level-1 dt from dual connect by level<=date'2009-1-1'-date'2008-1-1')
where to_char(dt,'D')=2 and rownum<=3;TO_CHAR(DT,'YYYY-MM_DD
----------------------
2009-01_05至2009-01_09
2009-01_12至2009-01_16
2009-01_19至2009-01_23
SQL>ALTER SESSION SET NLS_LANG=AMERICAN;SELECT to_char(mydate)||'至'||to_char(mydate+4)
FROM (
SELECT TRUNC(SYSDATE, 'YEAR') + ROWNUM - 1 mydate
FROM dual
CONNECT BY ROWNUM < 366
)
WHERE TO_CHAR(mydate,'D')=2
FROM (
SELECT TRUNC(SYSDATE, 'YEAR') + ROWNUM - 1 mydate
FROM dual
CONNECT BY ROWNUM < 366
)
WHERE TO_CHAR(mydate,'D')=2TO_CHAR(MYDATE)||'至'||TO_CHA
-----------------------------
26-10
02-11
09-11
16-11
23-11
30-11
07-12
14-12
21-12
28-12
52 rows selected.