如何用oracle的函数,计算两个日期之间(包括这两个日期)的周六,周日的数目。急,请教了。谢谢

解决方案 »

  1.   

    SELECT count(1)
      FROM table
     WHERE TO_CHAR(DATEcol, 'yyyymmdd') >= '20040101'
       AND TO_CHAR(DATEcol, 'yyyymmdd') >= '20040110'
       AND (to_char(makedate,'day') = '星期六'
       OR to_char(makedate,'day') = '星期日')
      

  2.   

    12月1号到12月31号之间周末天数:
    SQL> SELECT COUNT(decode(to_char(DATE '2005-12-1' + ROWNUM - 1, 'D'), 1, 1, 7, 1))
      2  FROM   dual
      3  CONNECT BY DATE '2005-12-1' + ROWNUM - 1 <= DATE '2005-12-31'
      4  /COUNT(DECODE(TO_CHAR(DATE'2005
    ------------------------------
                                 9