2011年2月27日日曜日

mysqlのconcatでNULLがある場合

concatは文字れるを結合するmysqlコマンドです
普通に

mysql> SELECT CONCAT('abc','def','ghi') as hoge;
+-----------+
| hoge |
+-----------+
| abcdefghi |
+-----------+
1 row in set (0.05 sec)

しかし、結合されるフィールドに一個でもNULLがあったら、全部NULLになっちゃう

mysql> SELECT CONCAT('abc','def',NULL) as hoge;
+------+
| hoge |
+------+
| NULL |
+------+
1 row in set (0.03 sec)

なのでNULLがでる可能性のあるフィールドにIFNULLを使う

mysql> SELECT CONCAT('abc','def',IFNULL(NULL,'')) as hoge;
+--------+
| hoge |
+--------+
| abcdef |
+--------+
1 row in set (0.03 sec)

0 件のコメント:

コメントを投稿