SQLで文字列を結合(連結)して取得するためにはCONCAT関数やCONCAT_WS関数、文字列結合子「||」を使用することで可能となります。DBMS毎で微妙に違いはありますが、ここではPostgreSQLでの実行サンプルをベースに説明していきます。
サンプルテーブル
CONCAT関数の使用例
- クエリー(SQL)例
CONCAT関数は連結したい文字をカンマ「,」で区切って指定すれば文字列連結可能となります。 Oracleの場合はCONCAT関数の引数は2つしか指定できないのでCONCAT関数を入れ子にして指定する必要があります。面倒なのでそういう場合は文字列結合子「||」を使用します。1SELECT CONCAT('商品名=', name, ', 商品コード=',type_code) AS "連結文字列" FROM goods; - 実行結果
文字列結合子「||」の使用例
- クエリー(SQL)例
文字列結合子「||」はCONCAT関数と同様の結果を取得できます。連結する文字列が少ない場合はこちらの方が比較的シンプルに記述できます。1SELECT ('商品名=' || name || ', 商品コード=' || type_code) AS "連結文字列" FROM goods; - 実行結果
CONCAT_WS関数の使用例
- クエリー(SQL)例
CONCAT_WS関数は第一引数にセパレータ(区切り文字)を指定し、第二引数から連結したい文字列をカンマ区切りで指定します。1SELECT CONCAT_WS('-',name, type_code) AS "連結文字列" FROM goods; - 実行結果