SQL Server自动删除尾随空格

时间:2012-05-23 07:47:54

标签: sql sql-server

  

可能重复:
  SQL WHERE clause matching values with trailing spaces

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

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

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

我在2005年和2012年尝试了这个,结果相同。

为什么会这样?是否与varchar的存储方式有关?

1 个答案:

答案 0 :(得分:3)

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

'like'不遵循这种行为:

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

不会返回“匹配