CASE
expression has two forms. The “simple” form
searches each value
expression from left to right until it finds one
that equals expression
:
result
for the matching value
is returned. If no match is found,
the result
from the ELSE
clause is returned if it exists, otherwise
null is returned. Example:
condition
from left to
right until one is true and returns the matching result
:
result
from the ELSE
clause is
returned if it exists, otherwise null is returned. Example:
IF
expression has two forms, one supplying only a true_value
and
the other supplying both a true_value
and a false_value
:
if(condition, true_value)
Evaluates and returns true_value
if condition
is true, otherwise
null is returned and true_value
is not evaluated.
if(condition, true_value, false_value)
Evaluates and returns true_value
if condition
is true, otherwise
evaluates and returns false_value
.
The following IF
and CASE
expressions are equivalent:
coalesce(value1, value2\[, \...\])
Returns the f non-null value
in the argument list. Like a CASE
expression, arguments are only evaluated if necessary.
nullif(value1, value2)
Returns null if value1
equals value2
, otherwise returns value1
.
try(expression)
Evaluate an expression and handle certain types of errors by returning
NULL
.
In cases where it is preferable that queries produce NULL
or default
values instead of failing when corrupt or invalid data is encountered,
the TRY
function may be useful. To specify default values, the TRY
function can be used in conjunction with the COALESCE
function.
The following errors are handled by TRY
:
Examples
Source table with some invalid data:
TRY
:
NULL
values with TRY
:
TRY
:
TRY
and COALESCE
: