【问题标题】:Unable to match square bracket [ character in SQL无法匹配 SQL 中的方括号 [ 字符
【发布时间】:2012-03-11 12:32:15
【问题描述】:

我正在尝试选择以此字符串模式“亲爱的 [用户名]”开头的记录。以下 where 子句:

where Message like 'Dear [UserName]%'

什么都不返回。
问题是什么,解决方法是什么?

注 1:字段 [Message] 以该文本开头。
注 2:[Message] 字段的类型是文本,但 varchar 字段也会出现同样的问题。

【问题讨论】:

标签: sql string-matching


【解决方案1】:

试试这个

 where Message like 'Dear \[User Name\]' escape '\';

【讨论】:

  • 太棒了。谢谢。即使你不逃避 ] 它仍然有效。
【解决方案2】:

[] 是一个通配符匹配运算符,它“匹配指定范围或括号中指定的集合内的任何单个字符”。 http://msdn.microsoft.com/en-us/library/ms179884.aspx

要获得正确的匹配,您可以编写:

where Message like 'Dear [[]User Name]%'

【讨论】:

    猜你喜欢
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多