2013年10月12日土曜日

Oracleでいうたらnvlやね

MySQLでのnull変換にはifnull関数を使用します。

ifnull(null_column, 'NULLの場合はこの値')

以下に例をいくつか挙げます。

mysql> select ifnull(null, 'NULLやで!');
+-------------------------------+
| ifnull(null, 'NULLやで!')    |
+-------------------------------+
| NULLやで!                    |
+-------------------------------+
1 row in set (0.01 sec)

mysql> select ifnull('x', 'NULLやで!');
+------------------------------+
| ifnull('x', 'NULLやで!')    |
+------------------------------+
| x                            |
+------------------------------+
1 row in set (0.00 sec)

mysql> select ifnull(0, 'NULLやで!');
+----------------------------+
| ifnull(0, 'NULLやで!')    |
+----------------------------+
| 0                          |
+----------------------------+
1 row in set (0.00 sec)

mysql> select ifnull(1/0, 'NULLやで!');
+------------------------------+
| ifnull(1/0, 'NULLやで!')    |
+------------------------------+
| NULLやで!                   |
+------------------------------+
1 row in set (0.01 sec)

ちなみに、こんなことはできませんのであしからず。 (引数は2つのみ)

mysql> select ifnull('x', 'NULLやで!', 'NULLちゃうで!');
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ifnull'

mysql> select ifnull('x');
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ifnull'

enjoy!


Written with StackEdit.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly