2022.11.2
文字列の結合で「+」を使って結合をしていたのですが、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を自動的に空白文字に変換してくれるため上手くいくようです。