2

可能重复:
SQL WHERE 子句匹配带有尾随空格的值

在查询 SQL Server(通过 Management Studio Express 了解其价值)时,我注意到在查询varchar字段时,条件中是否有一些尾随空格并不重要,它仍然会匹配。

以下匹配matched(因此它忽略搜索条件中的尾随空格)

select top 10 * from sometable
where somecolumn = 'matched    '

我在 2005 年和 2012 年尝试过,结果相同。

任何想法为什么会发生这种情况?它与如何varchar存储有关吗?

4

1 回答 1

3

这是正常行为:http: //support.microsoft.com/kb/316626/

'like' 不遵循这种行为:

select top 10 * from sometable
where somecolumn like 'matched    '

不会返回“匹配

于 2012-05-23T08:02:56.760 回答