Saturday, February 26, 2011

How to get total no. of weeks in a month in oracle?

WITH c AS
     (SELECT     TRUNC (sysdate, 'MM') + ROWNUM - 1 n,rownum
       FROM DUAL
      CONNECT BY ROWNUM <= (TRUNC (sysdate) - TRUNC (sysdate, 'MM'))+1)
SELECT sum(decode(to_char(n,'D'),7,1,0)) weekdays
  FROM c


OUTPUT:
                  WeekDays
                         4








1 comment:

  1. Try this select to_char(last_day(sysdate),'w') from dual.

    Also check out following links:
    http://nimishgarg.blogspot.in/2011/03/playing-with-truncate-and-date.html

    http://nimishgarg.blogspot.in/2010/11/oracle-some-important-date-queries.html

    ReplyDelete