【问题标题】:SQL Query to find rows containing "%" [duplicate]SQL查询以查找包含“%”的行[重复]
【发布时间】:2017-02-27 22:52:12
【问题描述】:

我知道我们可以在 SQL 查询中使用 LIKE 谓词来查找具有字母数字和特殊字符的行(WHERE desc LIKE '%#%')。但是如何找到包含“%”符号的行呢? (WHERE desc LIKE '%%%' 返回所有行)。

【问题讨论】:

  • 你在用什么rdbms
  • 你研究过这个吗?用谷歌快速搜索似乎很容易找到答案。

标签: sql


【解决方案1】:

这取决于您的数据库引擎。
\% 是 MySQL 和 Oracle 中 % 的转义字符。

WHERE desc LIKE '%\%%'

【讨论】:

【解决方案2】:

转义字符在 SQL Server 中很难遵循。把它变成文字

WHERE desc LIKE '%[%]%'

根据"Using Wildcard Characters As Literals"部分

要将通配符用作文字字符,请将通配符括在方括号中。

【讨论】:

    【解决方案3】:

    ANSI SQL 允许您使用 escape 子句指定转义字符,例如

    where desc like '%\%%' escape '\'
    

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 2014-07-01
      • 2015-12-21
      • 2012-07-16
      • 1970-01-01
      • 2020-08-11
      相关资源
      最近更新 更多