【SQL Server】文字列を結合できるCONCAT関数を解説します

SQL Server

こんにちは。たいら(@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関数とは、引数に指定された文字列をすべて結合した文字列を返す関数です。
基本的な使い方は以下になります。

これからCONCAT関数の細かい点について

  1. 引数にリテラル(固定の文言)を指定したい場合
  2. NULLを指定した場合
  3. CONCAT関数に指定する最低の引数の数
  4. カラム名について

と順に解説します。

引数にリテラル(固定の文言)を指定したい場合

引数にリテラル(固定の文言)を指定したい場合は、リテラルを「’(シングルクォーテーション)」で囲います。
SQL ServerのCONCAT関数にリテラルを指定
上記の画像のように、固定の文言を指定するすることができます。

NULLを指定した場合

NULLを指定した場合、エラーにはなりません。
varchar(1) の空の文字列として変換され、処理が実行されます。
SQL ServerのCONCAT関数のNULLを指定

CONCAT関数に指定する最低の引数の数

CONCAT関数に指定する最低の引数の数は、2つです。
もし引数が2つ未満の引数であった場合
SQL ServerのCONCAT関数のエラー

関数 concat は 2 個から 254 個までの引数が必要です。

というエラーが出力されます。
指定する引数の数にはご注意ください。

カラム名について

CONCAT関数で指定したカラム名は(列名なし)という名前になります。
SQL ServerのCONCAT関数のヘッダー
カラム名を指定したい場合は、AS句を使って指定すればOKです。
SQL ServerのCONCAT関数のヘッダー
AS句についてはこちらの記事をご参考ください。

では、次の章で実際に使ってみます。

CONCAT関数を使ったサンプルSQL

以下のuserテーブルを使います。
CONCAT関数を解説するテーブル

id name age job
A001 田中 16 1
A002 鈴木 43 2
A003 佐藤 22 2
A004 木下 17 1
A005 36 NULL
  1. name
  2. job
  3. age

を「:」で区切って連結し、AS句でカラム名を変更します。
SQLは以下になります。

実行すると、指定した引数の通りに連結できていることを確認できました。
SQL ServerのCONCAT関数の実行確認

まとめ:CONCAT関数で文字列を連結してみよう!

以上がSQL Serverで文字列を連結できるCONCAT関数についての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

  1. cgvhbjn より:

    concatが使えないバージョンだとどうするんです?

    パイプも使えませんでした

タイトルとURLをコピーしました