Use TO_CHAR function in PL/SQL : TO CHAR « PL SQL Programming « Oracle PL/SQL Tutorial






SQL>
SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2    test_date     DATE;
  3    day_of_week   VARCHAR2(3);
  4    years_ahead   INTEGER;
  5  BEGIN
  6    test_date := TO_DATE('1-Jan-1997','dd-mon-yyyy');
  7
  8    FOR years_ahead IN 1..10 LOOP
  9      day_of_week := TO_CHAR(test_date,'Dy');
 10
 11      IF day_of_week IN ('Sat','Sun') THEN
 12        DBMS_OUTPUT.PUT_LINE(TO_CHAR(test_date,'dd-Mon-yyyy')|| '     A long weekend!');
 13      ELSE
 14        DBMS_OUTPUT.PUT_LINE(TO_CHAR(test_date,'dd-Mon-yyyy')|| ' Not a long weekend.');
 15      END IF;
 16      test_date := ADD_MONTHS(test_date,12);
 17    END LOOP;
 18  END;
 19  /
01-Jan-1997 Not a long weekend.
01-Jan-1998 Not a long weekend.
01-Jan-1999 Not a long weekend.
01-Jan-2000     A long weekend!
01-Jan-2001 Not a long weekend.
01-Jan-2002 Not a long weekend.
01-Jan-2003 Not a long weekend.
01-Jan-2004 Not a long weekend.
01-Jan-2005     A long weekend!
01-Jan-2006     A long weekend!

PL/SQL procedure successfully completed.

SQL>
SQL>








24.6.TO CHAR
24.6.1.Use TO_CHAR function in PL/SQL
24.6.2.Use TO_CHAR function in DBMS_OUTPUT.PUT_LINE
24.6.3.TO_CHAR(d3,'Day, Month dd, yyyy')
24.6.4.Year 2000 problems? Note the effect of using rr instead of yy
24.6.5.TO_CHAR(n1,'999D99')