1
私はここでは、コードSQLは文字列の末尾にあるスペースを無視するのはなぜですか?
DECLARE @A VARCHAR(10) = 'A'
DECLARE @B VARCHAR(10) = 'A '
IF(@[email protected])
SELECT 'Equal'
ELSE
SELECT 'Not Equal'
@A @Bとを持っては等しくありません。末尾に余分なスペースを無視しないように
、私は
IF(REPLACE(@B,' ','.') = REPLACE(@A,' ','.'))
を試してみましたが、私の質問は以下のとおりです。
- なぜ同等として扱うSQL - ?
- これを行う他の方法はありますか?
str_replace(」」、 ''、B @)を参照してくださいuがやろうとしていたものということですか? –
投稿の謝辞:https://support.microsoft.com/en-gb/help/316626/inf-how-sql-server-compares-strings-with-trailing-spaces – Tanner
翼の中に何かが潜んでいます。 ['Len()'](https://docs.microsoft.com/en-us/sql/t-sql/functions/len-transact-sql)のドキュメントから: "指定された文字数を返します文字列式**後続の空白を除く**。 " – HABO