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
(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
Try this select to_char(last_day(sysdate),'w') from dual.
ReplyDeleteAlso 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