宣言
IFNULL(expr1, expr2)
説明
expr1 が NULL ではない場合、IFNULL() の戻り値は expr1 となります。そうでない場合、戻り値は expr2 となります。IFNULL() の戻り値は数値または文字列です。具体的には、使用されている文脈によって決まります。
IFNULL() のデフォルトの戻り値タイプは、以下の方法で計算されます:
式 |
戻り値 |
|---|---|
expr1 または expr2 が文字列を返す場合。 |
文字列 |
expr1 または expr2 が浮動小数点数を返す場合。 |
浮動小数点数 |
expr1 または expr2 が整数を返す場合。 |
整数 |
expr1 と expr2 がどちらも文字列であり、かついずれか一方が大文字小文字を区別する場合、戻り結果は大文字小文字を区別します。
例
obclient> SELECT IFNULL('abc', null), IFNULL(NULL+1, NULL+2), IFNULL(1/0, 0/1);
+---------------------+------------------------+------------------+
| IFNULL('abc', null) | IFNULL(NULL+1, NULL+2) | IFNULL(1/0, 0/1) |
+---------------------+------------------------+------------------+
| abc | NULL | 0.0000 |
+---------------------+------------------------+------------------+
1 row in set