NVL
Return the value of the first expression that is not null
in a list of two
expressions. If both expressions are null
, NVL returns
null
. ISNULL and NVL are aliases for the same conditional expression. See
also COALESCE, which is similar to NVL and ISNULL
but allows more than two expressions in the list.
NVL( expression1, expression2 )
ISNULL( expression1, expression2 )
For
example:
premdb=# select isnull(null,1) from sys.const;
isnull
--------
1
(1 row)
premdb=# select nvl(null,null) from sys.const;
nvl
--------
[NULL]
(1 row)
In this example, if the
city
column value is null, return No
City
:
premdb=# select teamid, nvl(city,'No City') from team order by teamid desc;
teamid | nvl
--------+---------------
50 | No City
49 | No City
48 | No City
47 | Wolverhampton
46 | London
45 | Wigan
44 | London
...
Make sure the list of expressions consists of compatible data types. For example, you cannot reference a SMALLINT and a VARCHAR in an NVL expression.