This shows you the differences between two versions of the page.
— |
case [2015/09/23 20:26] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== CASE Expression - PL/HQL Reference ====== | ||
+ | |||
+ | CASE expression allows you to implement IF-THEN-ELSE logic in expressions. | ||
+ | |||
+ | **Syntax:** | ||
+ | |||
+ | Simple CASE expression: | ||
+ | |||
+ | <code language=sql> | ||
+ | CASE expr | ||
+ | WHEN expr THEN expr | ||
+ | ... | ||
+ | [ELSE expr] | ||
+ | END | ||
+ | </code> | ||
+ | |||
+ | Searched CASE expression: | ||
+ | |||
+ | <code language=sql> | ||
+ | CASE | ||
+ | WHEN boolean_expr THEN expr | ||
+ | ... | ||
+ | [ELSE expr] | ||
+ | END | ||
+ | </code> | ||
+ | |||
+ | **Notes**: | ||
+ | |||
+ | * NULL is returned if none of the WHEN expressions is matched and ELSE clause is not specified | ||
+ | |||
+ | **Examples**: | ||
+ | |||
+ | Simple CASE expression: | ||
+ | |||
+ | <code language=sql> | ||
+ | CASE state | ||
+ | WHEN 'AZ' THEN 'Arizona' | ||
+ | WHEN 'CA' THEN 'California' | ||
+ | ELSE 'N/A' | ||
+ | END | ||
+ | </code> | ||
+ | |||
+ | Searched CASE expression: | ||
+ | |||
+ | <code language=sql> | ||
+ | CASE | ||
+ | WHEN state = 'AZ' THEN 'Arizona' | ||
+ | WHEN state = 'CA' THEN 'California' | ||
+ | ELSE 'N/A' | ||
+ | END | ||
+ | </code> | ||
+ | |||
+ | **Compatibility:** Oracle, IBM DB2, SQL Server, Teradata, MySQL, PostgreSQL and Netezza. | ||
+ | |||
+ | **Version**: PL/HQL 0.01 | ||
+ | |||
+ | See also: | ||
+ | * [[decode|DECODE Function]] | ||