IF函数用于判断testCondition是否为真。如果为真,返回valueTrue的值,否则返回valueFalseOrNull的值。
命令格式
IF(<testCondition>, <valueTrue>, <valueFalseOrNull>)
-- 标准示例。
-- 返回200。
SELECT IF(1 = 2, 100, 200);参数说明
testCondition:必填。要判断的BOOLEAN类型表达式。
valueTrue:必填。表达式testCondition结果为True时,需要返回的值。
valueFalseOrNull:必填。表达式testCondition结果为FALSE或为NULL时,需要返回的值。
valueTrue和valueFalseOrNull的数据类型需保持一致。
返回值说明
返回值类型和参数valueTrue或valueFalseOrNull的数据类型一致。
使用示例
示例1:基础条件判断。
--返回200。
SELECT IF(1=2, 100, 200);
-- 返回active。
SELECT IF(LENGTH('abc') > 2, 'active', 'inactive');示例2:当testCondition为NULL时,其行为等同于条件为 FALSE,返回valueFalseOrNull的值。
-- 返回valueB。
SELECT IF(NULL, 'valueA', 'valueB');
-- 返回NULL。
SELECT IF(FALSE, 42, NULL);