次のコードがあり"@B LIKE @A"
、最後のステートメントで比較するためにfalseを返します。
私の知識によれば、Likeはデータ型に基づかないテキストに基づいて比較を行うため、Likeがこのように動作する理由を知りたいと思います。
DECLARE @Var1 Char(20)
DECLARE @Var2 VarChar(20)
SET @Var1 = 'X'
SET @Var2 = 'X'
SELECT
@Var1 AS A,
@Var2 AS B,
LEN(@Var1) AS 'A Length',
LEN(@Var2) AS 'B Length',
CASE WHEN @Var1 = @Var2 THEN 'Yes' ELSE 'No' END AS 'A = B',
CASE WHEN @Var1 LIKE @Var2 THEN 'Yes' ELSE 'No' END AS 'A LIKE B',
CASE WHEN @Var2 LIKE @Var1 THEN 'Yes' ELSE 'No' END AS 'B LIKE A'