全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:IF

更新时间:Dec 12, 2025

IF函数用于判断testCondition是否为真。如果为真,返回valueTrue的值,否则返回valueFalseOrNull的值。

命令格式

IF(<testCondition>, <valueTrue>, <valueFalseOrNull>)

-- 标准示例。
-- 返回200。
SELECT IF(1 = 2, 100, 200);

参数说明

  • testCondition:必填。要判断的BOOLEAN类型表达式。

  • valueTrue:必填。表达式testCondition结果为True时,需要返回的值。

  • valueFalseOrNull:必填。表达式testCondition结果为FALSE或为NULL时,需要返回的值。

    • valueTruevalueFalseOrNull的数据类型需保持一致。

返回值说明

返回值类型和参数valueTruevalueFalseOrNull的数据类型一致。

使用示例

示例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);

相关函数

IF函数归属于其他函数更多其他业务场景的函数请参见其他函数