2022.11.2
文字列の結合で「+」を使って結合をしていたのですが、nullとの結合時に欲しい値が取得できないことがありました。
1 2 3 4 5 6 7 8 9 | DECLARE @a1 varchar (10) = 'test' DECLARE @a2 varchar (10) = null SELECT @a1 + @a2 欲しい値は「test」ですが、実際に取得できる値は「 null 」になります。 「+」を使った結合は文字列同士でしか結合ができないため、上手くいかないんですね。「+」でどうしても結合したい場合、 null を空白スペース等に置き換える必要があります。 上記の「+」での結合をCONCATを使用した結合にすることで正しく取得できます。 |
1 2 3 4 5 6 | DECLARE @a1 varchar (10) = 'test' DECLARE @a2 varchar (10) = null SELECT concat(@a1, @a2) CONCATを使用すると null を自動的に空白文字に変換してくれるため上手くいくようです。 |