MSSQLを試している間に、私は説明できないいくつかの動作を経験しました。NULLをvarcharに追加するときにISNULLを使用する
私はそれをvarchar型に追加されたときにNULL値がどうなるかを見ていた、と私は次のクエリ実行するとき:
SELECT
ISNULL(NULL + ' ', 'test')
を私は「テ」の結果を得ます。同様に、他の言葉のために単語testを変更すると、最初の2文字しか得られません。 + 'のスペースを増やすと、結果に余分な文字が表示されます(NULL +' [2つのスペース]は私に 'テス'を与えます)。何が起こっているのでしょうか?
変数を宣言してNULLに設定した場合など。
DECLARE @testnull AS varchar(32)
SET @testnull = NULL
SELECT
ISNULL(@testnull + ' ', 'test')
私は結果として「テスト」を得る(私が期待する通り)。
はどのようにvarchar型は、(1) '' 'te''を取得 '来ますか? – Kaf
@Kaf ''''を追加するとvarchar(2)になります。 –
私の友人、あなたはこのニッチで私を驚かせることを止めない、素晴らしい答えのために+1! –