Use if with 'IN' : IF « PL SQL Statements « 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>








22.1.IF
22.1.1.Conditional Logic
22.1.2.Handling conditions
22.1.3.A Simple Condition Statement
22.1.4.A Simple Condition Statement with BOOLEAN variable
22.1.5.The IF...THEN...ELSE Statement
22.1.6.Use IF THEN ELSE IF
22.1.7.IF...ELSE statements
22.1.8.Using an ELSIF Statement
22.1.9.IF..ELSIF ladder
22.1.10.Block IF statement
22.1.11.IF with ELSE
22.1.12.The Syntax for IF...ELSIF
22.1.13.ELSIF Ladder
22.1.14.The Syntax for Nested IF Statements
22.1.15.Use if with 'IN'
22.1.16.Three valued comparison
22.1.17.JUMP out of a IF statement with goto
22.1.18.Comparing with NULL
22.1.19.If block statement
22.1.20.Create a function and call it in an if statement
22.1.21.PLW-06002: Unreachable code