MySQLで文字列結合をする方法(NULLに注意)
基本形
MySQL で文字列結合するときに基本形としては、concat を使って、引数に結合したい文字列やカラムを順番に渡すかたちになります。
この例では 000-0000 のような連結された郵便番号を表示しようとしています。
select
concat(zip1, '-', zip2) as zipcode
from
address
結合するカラムに NULL が存在する場合
注意しないといけない点として、結合使用しているカラム内に NULL が含まれている場合、意図しない結果になってしまいます。
これを回避するためには、coalesce などを使用して、NULL のとき空文字に変換してから、結合するとうまくいきます。
select
concat(coalesce(zip1, ''), '-', coalesce(zip2, '')) as zipcode
from
address
まとめ
文字列の結合方法は、データベースによって、方法が微妙に違っていたりするので、注意しながら実装したいです。