CASE ER 函数
CASE
函数根据指定的替代选项评估指定表达式的值,并返回等于指定表达式值的第一个选项的结果。 否则,如果将默认结果指定为被调用函数最后一个参数(前面没有选项),则返回可选默认结果。 返回的值可以是任何受支持的数据类型的值。
语法
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
参数
expression
:原始数据类型(布尔值、数字或文本)
返回原始数据类型的值的有效表达式。
option 1
:原始数据类型(布尔值、数字或文本)
一个有效表达式,返回与被调用函数的 expression
参数相同的原始数据类型的值。 此参数是必需的。
result 1
:任何受支持的数据类型
返回的结果与前面的选项相对应。 此参数是必需的。
option N
:原始数据类型(布尔值、数字或文本)
一个有效表达式,返回与被调用函数的 expression
参数相同的原始数据类型的值。 此参数是可选的。
result N
:任何受支持的数据类型
返回的结果与前面的选项相对应。 此参数是可选的。
default result
:任何受支持的数据类型
如果没有匹配项,应返回的结果。 此参数是可选的。
返回值
任何受支持的数据类型
生成的任何受支持数据类型的值。
使用说明
如果没有匹配项,并且未定义可选的默认结果,将在运行时引发异常。
必须使用相同的数据类型指定所有结果。 如果配置结果的数据类型不匹配,则会在设计时引发异常。
如果第一个结果值与第 N 个结果值是容器(记录)或记录列表数据类型的值,结果只包含两个值中都存在的字段。
示例
如果当前应用程序会话日期在 10 月到 12 月之间,CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
将返回字符串 "WINTER"。 否则,它返回一个空字符串。