【问题标题】:SQL Server automatically strips trailing whitespace [duplicate]SQL Server 自动去除尾随空格 [重复]
【发布时间】:2012-05-23 07:47:54
【问题描述】:

可能重复:
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 的存储方式有关?

【问题讨论】:

  • 看起来确实是,但是该问题的标记(“C#,数据库”!)意味着在编写问题时它没有出现在标题搜索中。建议重新标记旧问题。如果有权限的人可以这样做。之后,可以将其作为副本关闭。

标签: sql sql-server


【解决方案1】:

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

“喜欢”不遵循这种行为:

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

不会返回“匹配的

【讨论】:

    猜你喜欢
    • 2011-08-28
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多