计算条件列表并返回多个可能结果表达式之一。
CASE 表达式有两种格式:
CASE 简单表达式,它通过将表达式与一组简单的表达式进行比较来确定结果。
CASE 搜索表达式,它通过计算一组布尔表达式来确定结果。
这两种格式都支持可选的 ELSE 参数。
CASE 可用于允许使用有效表达式的任意语句或子句。例如,可以在 SELECT、UPDATE、DELETE 和 SET 等语句以及 select_list、IN、WHERE、ORDER BY 和 HAVING 等子句中使用 CASE。
语法
Simple CASE expression:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
Searched CASE expression:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
参数
input_expression
使用简单 CASE 格式时所计算的表达式。input_expression 是任意有效的表达式。
WHEN when_expression
使用简单 CASE 格式时要与 input_expression 进行比较的简单表达式。when_expression 是任意有效的表达式。input_expression 及每个 when_expression 的数据类型必须相同或必须是隐式转换的数据类型。
THEN result_expression
当 input_expression = when_expression 计算结果为 TRUE,或者 Boolean_expression 计算结果为 TRUE 时返回的表达式。result expression 是任意有效的表达式。
ELSE else_result_expression
比较运算计算结果不为 TRUE 时返回的表达式。如果忽略此参数且比较运算计算结果不为 TRUE,则 CASE 返回 NULL。else_result_expression 是任意有效的表达式。else_result_expression 及任何 result_expression 的数据类型必须相同或必须是隐式转换的数据类型。
WHEN Boolean_expression
使用 CASE 搜索格式时所计算的布尔表达式。Boolean_expression 是任意有效的布尔表达式。
希望回答对你有帮助
取消
评论