在查询SQL Server时(通过Management Studio Express了解它的价值),我注意到在查询varchar
字段时,如果您的条件中有一些尾随空格并不重要,它仍然会匹配。
以下匹配matched
(因此它会忽略搜索条件中的尾随空格)
select top 10 * from sometable
where somecolumn = 'matched '
我在2005年和2012年尝试了这个,结果相同。
为什么会这样?是否与varchar
的存储方式有关?
答案 0 :(得分:3)
这是正常行为:http://support.microsoft.com/kb/316626/
'like'不遵循这种行为:
select top 10 * from sometable
where somecolumn like 'matched '
不会返回“匹配”