PL SQL Statements Oracle PLSQL Tutorial

SQL> SET ECHO ON
SQL> SET SERVEROUTPUT ON
SQL>
SQL> DECLARE
  2  temp  NUMBER;
  3
  4    FUNCTION iifn(boolean_expression IN BOOLEAN,
  5                true_number IN NUMBER,
  6                false_number IN NUMBER)
  7    RETURN NUMBER IS
  8    BEGIN
  9      IF boolean_expression THEN
 10        RETURN true_number;
 11      ELSIF NOT boolean_expression THEN
 12        RETURN false_number;
 13      ELSE
 14        --nulls propagate, i.e. null input yields null output.
 15        RETURN NULL;
 16      END IF;
 17    END;
 18  BEGIN
 19    DBMS_OUTPUT.PUT_LINE(iifn(2 > 1,1,0));
 20    DBMS_OUTPUT.PUT_LINE(iifn(2 > 3,1,0));
 21
 22    temp := iifn(null,1,0);
 23    IF temp IS NULL THEN
 24      DBMS_OUTPUT.PUT_LINE('NULL');
 25    ELSE
 26      DBMS_OUTPUT.PUT_LINE(temp);
 27    END IF;
 28  END;
 29  /
1
0
NULL
PL/SQL procedure successfully completed.
SQL>