メインコンテンツまでスキップ
バージョン: 26.x

IF

デスクリプション

<condition> が true の場合、<value_true> を返します。そうでない場合は、<value_false_or_null> を返します。 戻り値の型:<value_true> 式の結果型。

Syntax

IF(<condition>, <value_true>, <value_false_or_null>)

パラメータ

  • <condition>: Boolean型、条件が真かどうかを判定するために使用される式。
  • <value_true>: <condition>が真の場合に返される値。
  • <value_false_or_null>: <condition>が偽またはNULLの場合に返される値。

  1. データを準備する

    create table test_if(
    user_id int
    ) properties('replication_num' = '1');
    insert into test_if values(1),(2),(null);
  2. 例1

    SELECT user_id, IF(user_id = 1, "true", "false") AS test_if FROM test_if;
    +---------+---------+
    | user_id | test_if |
    +---------+---------+
    | NULL | false |
    | 1 | true |
    | 2 | false |
    +---------+---------+
  3. 型変換

    SELECT user_id, IF(user_id = 1, 2, 3.14) AS test_if FROM test_if;
    +---------+---------+
    | user_id | test_if |
    +---------+---------+
    | NULL | 3.14 |
    | 1 | 2.00 |
    | 2 | 3.14 |
    +---------+---------+

2番目の引数「2」は、3番目の引数「3.14」の型(Decimal)に変換されます。

  1. NULL引数

    SELECT user_id, IF(user_id = 1, 2, NULL) AS test_if FROM test_if;
    +---------+---------+
    | user_id | test_if |
    +---------+---------+
    | NULL | NULL |
    | 1 | 2 |
    | 2 | NULL |
    +---------+---------+