CASE expr
WHEN value THEN result
[WHEN ...]
[ELSE else_result]
END | expr and value : Any type | result and else_result : Supertype of input
types. | Compares expr to value of each successive WHEN
clause and returns the first result where this comparison returns true. The
remaining WHEN clauses and else_result are not
evaluated. If the
expr = value comparison returns false or NULL for
all WHEN clauses, returns
else_result if present; if not present, returns NULL .
expr and value expressions
must be implicitly coercible to a common supertype; equality comparisons are
done on coerced values. result and else_result
expressions must be coercible to a common supertype. |
CASE
WHEN cond1 THEN result
[WHEN cond2...]
[ELSE else_result]
END | cond : BOOL | result and else_result : Supertype of input
types. | Evaluates condition cond of each successive WHEN
clause and returns the first result where the condition is true; any remaining
WHEN clauses and else_result are not evaluated. If all
conditions are false or NULL , returns
else_result if present; if not present, returns
NULL . result and else_result
expressions must be implicitly coercible to a common supertype. |
COALESCE(expr1, ..., exprN) | Any type | Supertype of input types | Returns the value of the first non-null expression. The remaining
expressions are not evaluated. All input expressions must be implicitly
coercible to a common supertype. |
IF(cond, true_result, else_result) | cond : BOOL | true_result and else_result : Any type. | If cond is true, returns true_result , else returns
else_result . else_result is not evaluated if
cond is true. true_result is not evaluated if
cond is false or NULL . true_result and
else_result must be coercible to a common supertype. |
IFNULL(expr, null_result) | Any type | Any type or supertype of input types. | If expr is NULL , return null_result . Otherwise,
return expr . If expr is not NULL ,
null_result is not evaluated. expr and
null_result must be implicitly coercible to a common
supertype. Synonym for COALESCE(expr, null_result) . |
NULLIF(expression, expression_to_match) | Any type T or subtype of T | Any type T or subtype of T | Returns NULL if expression = expression_to_match
is true, otherwise returns expression . expression and
expression_to_match must be implicitly coercible to a common
supertype; equality comparison is done on coerced values. |