Oracle/PLSQL: NVL2 Function
The Oracle/PLSQL NVL2 function extends the functionality found in the NVL function. It lets you substitutes a value when a null value is encountered as well as when a non-null value is encountered.
NVL2 Function Syntax
The syntax for the NVL2 function is:
NVL2( string1, value_if_NOT_null, value_if_null )
string1 is the string to test for a null value.
value_if_NOT_null is the value returned if string1 is not null.
value_if_null is the value returned if string1 is null.
The NVL2 function can be used in the following versions of Oracle/PLSQL:
- Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i
NVL2 Function Examples
The NVL2 function can be used in Oracle/PLSQL. For example:
select NVL2(supplier_city, 'Completed', 'n/a') from suppliers;
The SQL statement above would return 'n/a' if the supplier_city field contained a null value. Otherwise, it would return the 'Completed'.
Another example using the NVL2 function in Oracle/PLSQL is:
select supplier_id, NVL2(supplier_desc, supplier_name, supplier_name2) from suppliers;
This SQL statement would return the supplier_name2 field if the supplier_desc contained a null value. Otherwise, it would return the supplier_name field.