IF函数用于根据判断条件选择执行的语句。本文为您介绍实时数仓Hologres中IF函数的用法。

使用限制

仅Hologres V2.1版本起支持IF函数。如果您的实例版本为V2.0及以下版本,请先升级实例版本,详情请参见实例升级

命令语法

IF(condition, value_if_true, value_if_false)

参数说明如下:

参数

描述

condition

判断条件。

value_if_true

如果判断条件的结果为TRUE,则返回该语句结果。

value_if_false

如果判断条件的结果为FALSE或为NULL,则返回该语句结果。

使用示例

DROP TABLE IF EXISTS if_test;
CREATE TABLE if_test (
    id int,
    name text,
    age int
);

INSERT INTO if_test VALUES ('1', 'a', '18'), ('2', 'b', '19'), ('3', 'c', '25'), ('4', 'd', '8'), ('5', 'e', '27'), ('6', 'f', '21');

SELECT
    name,
    IF (age >= 18, '成年', '未成年')
FROM
    if_test;

返回结果:

+-------+---------+
| name  | if      |
+-------+---------+
| a     |  成年   |
| c     |  成年   |
| e     |  成年   |
| f     |  成年   |
| d     |  未成年 |
| b     |  成年   |