宣言
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