Monday, December 9, 2019

NULL functions ( NVL, NVL2, NULLIF and COALESCE) in Oracle

SQL> COLUMN RESULT FORMAT A10
SQL> SELECT NVL('X','Y') AS RESULT FROM DUAL;

RESULT
----------
X

SQL> SELECT NVL(NULL,'Y') AS RESULT FROM DUAL;

RESULT
----------
Y

SQL> SELECT NVL(NULL,NULL) AS RESULT FROM DUAL;

RESULT
----------


SQL>
SQL> SELECT NVL2('X','Y','Z') AS RESULT FROM DUAL;

RESULT
----------
Y

SQL> SELECT NVL2(NULL,'Y','Z') AS RESULT FROM DUAL;

RESULT
----------
Z

SQL> SELECT NVL2('X',NULL,'Z') AS RESULT FROM DUAL;

RESULT
----------


SQL> SELECT NVL2(NULL,'Y',NULL) AS RESULT FROM DUAL;

RESULT
----------


SQL> -- both parameters are same then returns NULL else first parameter as output
SQL> SELECT NULLIF('X','X') AS RESULT FROM DUAL;

RESULT
----------


SQL> SELECT NULLIF('X','Y') AS RESULT FROM DUAL;

RESULT
----------
X

SQL> SELECT NULLIF(NULL,'Y') AS RESULT FROM DUAL;
SELECT NULLIF(NULL,'Y') AS RESULT FROM DUAL
              *
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got CHAR


SQL> SELECT NULLIF('X',NULL) AS RESULT FROM DUAL;

RESULT
----------
X

SQL> -- returns first not null parameter value
SQL> SELECT COALESCE('A','B','C','D') AS RESULT FROM DUAL;

RESULT
----------
A

SQL> SELECT COALESCE(NULL,'B','C','D') AS RESULT FROM DUAL;

RESULT
----------
B

SQL> SELECT COALESCE(NULL,NULL,'C','D') AS RESULT FROM DUAL;

RESULT
----------
C

SQL> SELECT COALESCE(NULL,NULL,NULL,'D') AS RESULT FROM DUAL;

RESULT
----------
D

SQL> SELECT COALESCE(NULL,NULL,NULL,NULL) AS RESULT FROM DUAL;

RESULT
----------


SQL>

No comments:

Post a Comment

Delete Row Button to all records of Interactive Report in Oracle Apex

 1. add 'Delete' Del column to Report Query 2. Set the Following Properties for the DEL Column Type: Link Heading: Delete Targ...