- 类别:
IFF¶
根据布尔表达式的计算结果是 Ture 还是 False,返回两个值中的一个。此函数类似于单级 if-then-else 表达式。它类似于 CASE,但只允许一个条件。您可以使用它向 SQL 语句添加条件逻辑。
语法¶
实参¶
condition该条件是一个应计算为 BOOLEAN 值(TRUE、FALSE 或 NULL)的表达式。
如果
condition计算结果为 TRUE,则返回expr1,否则返回expr2。expr1通用表达式。如果
condition为 True,则该函数返回此值。expr2通用表达式。如果
condition不为 True(即,如果它为 False 或 NULL),则该函数返回此值。
返回¶
该函数可以返回任何类型的值。如果返回的表达式的值为 NULL,则该函数可以返回 NULL。
使用说明¶
condition 可以包含一个 SELECT 语句,该语句包含集合运算符,例如 UNION、INTERSECT 和 EXCEPT (MINUS)。使用集合运算符时,请确保数据类型兼容。有关详细信息,请参阅 集运算符 主题中的 一般使用说明。
排序规则详细信息¶
从该函数返回的值会保留 expr1 和 expr2 实参的最高 优先级 排序规则的排序规则规范。
示例¶
以下示例使用 IFF 函数。
由于条件的计算结果为 Ture,故返回 expr1:
由于条件的计算结果为 False,故返回 expr2:
由于条件的计算结果为 NULL,故返回 expr2:
由于返回的表达式的值为 NULL,故返回 NULL:
如果值是整数,则返回 expr1 (integer);或如果值不是整数,则返回 expr2 (non-integer):
如果值大于 50,则返回 expr1 (High);或如果值小于等于 50(或为 NULL),则返回:samp:{expr2} (Low):