Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


IF

📄字数 460
👁️阅读量 加载中...

功能描述

判断 expr1 是否为 true,为 true 时返回 expr2,否则返回 expr3

语法格式

sql
IF(expr1, expr2, expr3)

输入参数

  • expr1BOOLEAN 类型的值或表达式;
  • expr2:数据库支持的所有数据类型;
  • expr3:数据库支持的所有数据类型。

输出结果

  • 返回值类型为 expr2expr3 的公共数据类型,当 expr1 的值为 true 时返回 expr2,否则返回 expr3
  • 输出结果为 NULL 的条件如下:
    • expr1 的值为 true,并且 expr2 的值为 NULL
    • expr1 的值为 false 或者 NULL,并且 expr3 的值为 NULL

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

sql
-- 依据不同条件返回指定字符串
SQL> SELECT IF(1 > 0,'yes','no'), IF(1 < 0,'yes','no') FROM dual;

+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| yes   | no    |
+-------+-------+

-- 依据不同条件返回指定BOOLEAN表达式的值
SQL> SELECT IF(1 > 0, 1 = 1, 1 = 0), IF(1 < 0, 2 > 1, 1 <> 1) FROM dual;

+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| T     | F     |
+-------+-------+