【问题标题】:LIKE not working in TSQLLIKE 在 SQL 中不起作用
【发布时间】:2013-11-05 01:32:06
【问题描述】:

考虑一下TSQL

declare @b varchar(100)

set @b = 'BANK-41'

IF @b LIKE 'BANK_%'
BEGIN
    print 'Wrong Matching'
END

为什么 TSQL 会匹配字符串“BANK-”和“BANK_”?

【问题讨论】:

    标签: sql-server tsql matching sql-like


    【解决方案1】:

    在 TSQL 中,下划线是表示单个字符的通配符。

    为了逃避,你需要用方括号括起来,像这样:

    '银行[_]%'

    查看此页面: http://www.dirigodev.com/blog/web-development-execution/escaping-percent-and-underscore-characters-in-t-sql-like-clause/

    【讨论】:

      【解决方案2】:

      我认为,SQL Server 中的下划线是为通配符保留的。你需要逃避它。我想你可以把它放在括号里:

      %[_]%
      

      【讨论】:

      • 感谢您的帮助。这对理解这一点很有帮助。
      【解决方案3】:

      您需要转义“_”。它是 Like 语句的特殊字符。可以用[]括起来。

      LIKE (Transact-SQL)

      【讨论】:

      • 感谢您的帮助。这对理解这一点很有帮助。
      猜你喜欢
      • 2017-09-05
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2012-11-15
      • 2010-10-14
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多