【SQLServer】文字列結合には「CONCAT」を使おう | 株式会社アースリンク

Engineer Blog開発者ブログ

2022.11.2

【SQLServer】文字列結合には「CONCAT」を使おう

文字列の結合で「+」を使って結合をしていたのですが、nullとの結合時に欲しい値が取得できないことがありました。

DECLARE @a1 varchar(10) = 'test'
DECLARE @a2 varchar(10) = null

SELECT @a1 + @a2

欲しい値は「test」ですが、実際に取得できる値は「null」になります。
「+」を使った結合は文字列同士でしか結合ができないため、上手くいかないんですね。「+」でどうしても結合したい場合、nullを空白スペース等に置き換える必要があります。

上記の「+」での結合をCONCATを使用した結合にすることで正しく取得できます。

DECLARE @a1 varchar(10) = 'test'
DECLARE @a2 varchar(10) = null

SELECT concat(@a1, @a2)

CONCATを使用するとnullを自動的に空白文字に変換してくれるため上手くいくようです。

Contact
お問い合わせ

電話番号0120 - 889 - 236

受付時間:平日 9:00-18:00