こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 SQL Serverで文字列を結合できるCONCAT関数について
- CONCAT関数とは
- CONCAT関数を使ったサンプルSQL
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
使っているSQL Serverの製品 | SQL Server2019 |
SQL Serverのバージョン | 15.0.2000 |
SQL Server Management Studioのバージョン | 15.0.18386.0 |
SQL Server Management Studioの言語 | 日本語 |
CONCAT関数とは
CONCAT関数とは、引数に指定された文字列をすべて結合した文字列を返す関数です。
基本的な使い方は以下になります。
1 2 |
SELECT CONCAT(【文字列1】, 【文字列2】,【文字列3】,…) FROM 【テーブル名】 |
これからCONCAT関数の細かい点について
- 引数にリテラル(固定の文言)を指定したい場合
- NULLを指定した場合
- CONCAT関数に指定する最低の引数の数
- カラム名について
と順に解説します。
引数にリテラル(固定の文言)を指定したい場合
引数にリテラル(固定の文言)を指定したい場合は、リテラルを「’(シングルクォーテーション)」で囲います。
上記の画像のように、固定の文言を指定するすることができます。
NULLを指定した場合
NULLを指定した場合、エラーにはなりません。
varchar(1) の空の文字列として変換され、処理が実行されます。
CONCAT関数に指定する最低の引数の数
CONCAT関数に指定する最低の引数の数は、2つです。
もし引数が2つ未満の引数であった場合
関数 concat は 2 個から 254 個までの引数が必要です。
というエラーが出力されます。
指定する引数の数にはご注意ください。
カラム名について
CONCAT関数で指定したカラム名は(列名なし)という名前になります。
カラム名を指定したい場合は、AS句を使って指定すればOKです。
AS句についてはこちらの記事をご参考ください。
では、次の章で実際に使ってみます。
CONCAT関数を使ったサンプルSQL
以下のuserテーブルを使います。
id | name | age | job |
---|---|---|---|
A001 | 田中 | 16 | 1 |
A002 | 鈴木 | 43 | 2 |
A003 | 佐藤 | 22 | 2 |
A004 | 木下 | 17 | 1 |
A005 | 森 | 36 | NULL |
- name
- job
- age
を「:」で区切って連結し、AS句でカラム名を変更します。
SQLは以下になります。
1 2 |
SELECT CONCAT(name, ':', job, ':', age) AS 'ユーザー情報' FROM [user] |
実行すると、指定した引数の通りに連結できていることを確認できました。
まとめ:CONCAT関数で文字列を連結してみよう!
以上がSQL Serverで文字列を連結できるCONCAT関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント
concatが使えないバージョンだとどうするんです?
パイプも使えませんでした
cgvhbjnさんへ
コメントありがとうございます。
ご質問の
ですが、+演算子を使うと文字列結合できると思います。
こちらの記事をご参考ください。
【SQL Server】文字列を結合できる+演算子を解説します