CASE#
Synopsis#
Simple case:
CASE
WHEN condition THEN statements
[ ... ]
[ ELSE statements ]
END CASE
Searched case:
CASE expression
WHEN expression THEN statements
[ ... ]
[ ELSE statements ]
END
Description#
The CASE statement is an optional construct to allow conditional processing
in SQL user-defined functions.
The WHEN clauses are evaluated sequentially, stopping after the first match,
and therefore the order of the statements is significant. The statements of the
ELSE clause are executed if none of the WHEN clauses match.
Unlike other languages like C or Java, SQL does not support case fall through, so processing stops at the end of the first matched case.
One or more WHEN clauses can be used.
Examples#
The following example shows a simple CASE statement usage:
FUNCTION simple_case(a bigint)
RETURNS varchar
BEGIN
CASE a
WHEN 0 THEN RETURN 'zero';
WHEN 1 THEN RETURN 'one';
ELSE RETURN 'more than one or negative';
END CASE;
RETURN NULL;
END
Further examples of varying complexity that cover usage of the CASE statement
in combination with other statements are available in the Example SQL UDFs.