SQL の基本 | 関数 | Concatenate: 文字列結合
異なるフィールドのデータを結合する場合がある。各データベースには、この目的を達成するための方法がある。
- MySQL: CONCAT()
- Oracle: CONCAT(), ||
- SQL Server: +
Concatenate 構文
CONCAT() は次のように使用する。
CONCAT(文字列1, 文字列2, 文字列3, ...)
文字列1、文字列2、文字列3… を結合する。Oracle の CONCAT() では 2 つのパラメータが許可される点に注意する。つまり、一度に 2 つの文字列だけを結合できる。一度に複数の文字列を結合するには || を使用する。
Concatenate の例
たとえば、次のようなテーブルがあるとする。
geography テーブル
| region_name | store_name |
|---|---|
| East | Boston |
| East | New York |
| West | Los Angeles |
| West | San Diego |
例1
MySQL / Oracle:
SELECT CONCAT(region_name, store_name) FROM geography
WHERE store_name = 'Boston';
結果は次のとおりである。
'EastBoston'
例2
Oracle:
SELECT region_name || ' ' || store_name FROM geography
WHERE store_name = 'Boston';
結果は次のとおりである。
'East Boston'
例3
SQL Server:
SELECT region_name + ' ' + store_name FROM geography
WHERE store_name = 'Boston';
結果は次のとおりである。
'East Boston'