LIKE运算符不填充尾部空格:
当我比较这样的文本时:
'a' = 'a '
结果是真的,但我原以为是假的。
你知道为什么结果是真的吗?我能做点什么来解决这个问题吗?
SELECT * FROM basePath WHERE 'a' LIKE 'a '
更多信息可在此处找到:https://dba.stackexchange.com/questions/56876/sql-server-auto-trim-of-varchar-value-in-equal-comparison-but-not-like-compariso
您可以使用DATALENGTH()
示例
SELECT * FROM TableName WHERE DATALENGT('a') = DATALENGTH('a ')
DATALENGT('a')
返回结果为1
,DATALENGTH('a ')
返回结果为2,包括空格文本。
请查看db<>fiddle
以供参考。