在 Apache Doris 中,IF 函数用于在查询中根据条件返回不同的值。它的基本语法如下:

IF(boolean condition, type valueTrue, type valueFalseOrNull)

如果 condition 为真,则 IF 函数返回 valueTrue;如果 condition 为假,则返回 valueFalseOrNull。以下是一些使用示例:

示例 1:基础使用

SELECT user_id, IF(user_id = 1, "true", "false") AS test_if FROM test;

这个查询会返回 user_id 列的值,以及一个新列 test_if,该列根据 user_id 是否等于 1 来显示 “true” 或 “false”。

示例 2:多条件判断

=IF(AND(条件1, 条件2), 值为真时的结果, 值为假时的结果)

例如,有一个奖金表,包括班级、姓名、分数,一班且大于90分的同学,奖励100元。可以使用以下公式:

=IF(AND(A2="一班",C2>90),"奖励100元","")

这个公式会检查两个条件是否都满足,如果都满足则返回 “奖励100元”,否则返回空字符串。

示例 3:处理错误值

=IF(ISERROR(数值), "错误", 数值)

假设有一份成绩表,包括姓名、成绩,现需要查找几个学生的成绩,若是查不到则显示“查无数据”。可以使用以下公式:

=IF(ISERROR(VLOOKUP(E3,A:B,2,0)),"查无数据",VLOOKUP(E3,A:B,2,0))

这个公式会检查 VLOOKUP 函数是否返回错误,如果返回错误则显示 “查无数据”,否则显示查找到的成绩。