查询全年的工作天数,星期六和星期日的不算,以下面的格式显示
2008-01-01
2008-01-02
2008-01-03
2008-01-04
2008-01-05
2008-01-06

2008-01-07
2008-01-08
..........
..........2008-12-31其中例如红色的2008-01-05 和 2008-01-06是星期六和星期日,不要显示出来

解决方案 »

  1.   

    select * from (select to_date('2008-01-01', 'yyyy-mm-dd') + rownum - 1 dd
      from dual
    connect by rownum <= to_date('2008-12-31', 'yyyy-mm-dd') -
               to_date('2008-01-01', 'yyyy-mm-dd') + 1) where to_char(dd,'day')  not in ('星期六','星期日')
    2008-1-1
    2008-1-2
    2008-1-3
    2008-1-4
    2008-1-7
    2008-1-8
    2008-1-9
    2008-1-10
    2008-1-11
    2008-1-14
    2008-1-15
    2008-1-16
    2008-1-17
    2008-1-18
    2008-1-21
    2008-1-22
    2008-1-23
    2008-1-24
    2008-1-25
    2008-1-28
    ...
      

  2.   

    SQL> select RQ
      2    FROM (select trunc(sysdate, 'yyyy') + (rownum - 1) RQ,
      3                 to_char(trunc(sysdate, 'yyyy') + (rownum - 1), 'd') TS
      4            from dual
      5          connect by rownum <= (select (add_months(trunc(sysdate, 'yyyy'), 12) - 1) -
      6                                       trunc(sysdate, 'yyyy') + 1
      7                                  from dual))
      8   where TS not in ('1', '7');RQ
    -----------
    2008-1-1
    2008-1-2
    2008-1-3
    2008-1-4
    2008-1-7
    2008-1-8
    2008-1-9
    2008-1-10
    2008-1-11
    2008-1-14
    2008-1-15
    2008-1-16
    2008-1-17
    2008-1-18
    2008-1-21
    2008-1-22
    2008-1-23
    2008-1-24
    2008-1-25
    2008-1-28
    ...
    ...
    262 rows selectedSQL>
      

  3.   

    sleepzzzzz ,不好意思,贴在你回复的时候已经结了,不过还是要谢谢你