Conditional Expression¶
case
The standard SQL CASE expression has two forms. The “simple” form searches each value expression from left to right until it finds one that equals expression:
CASE expression
WHEN value THEN result
[ WHEN ... ]
[ ELSE result ]
END
if(condition, true_value, false_value)
Evaluates and returns true_value if condition is true, otherwise evaluates and returns false_value.
coalesce(value1, value2[, …])
Returns the first non-null value in the argument list.
Conditional Expressions in Cider¶
COALESCE¶
The COALESCE expression is a syntactic shortcut for the CASE expression
The code COALESCE(expression1,…n) is executed in Cider as the following CASE expression:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
WHEN (expression2 IS NOT NULL) THEN expression2
...
ELSE expressionN
END
Example:
SELECT COALESCE(col_1, col_2, 777) FROM test
is equal to
SELECT CASE WHEN col_1 is not null THEN col_1 WHEN col_2 is not null THEN col_2 ELSE 777 END from test
IF¶
The IF function is actually a language construct that is executed in Cider as the following CASE expression
CASE
WHEN condition THEN true_value
[ ELSE false_value ]
END
IF Functions:
if(condition, true_value)
Evaluates and returns true_value if condition is true, otherwise null is returned and true_value is not evaluated.
is equal to
CASE WHEN condition THEN true_value END
if(condition, true_value, false_value)
Evaluates and returns true_value if condition is true, otherwise evaluates and returns false_value.
is equal to
CASE WHEN condition THEN true_value ELSE false_value END