我有一个SQL数据库,我想查询谁显示包含符号“%”的所有数据。通常,要在数据库中查找字符(例如:“z”),我使用如下查询:
mysql_query("SELECT * FROM mytable WHERE tag LIKE '%z%'");
但是在这里,我想找到%字符,但在SQL中它是一个小丑,所以当我写:
mysql_query("SELECT * FROM mytable WHERE tag LIKE '%%%'");
它显示了我的所有数据。那么如何在我的SQL数据中找到%字符?
由于
答案 0 :(得分:12)
您可以使用反斜杠转义%
符号:
SELECT * FROM mytable WHERE tag LIKE '%\%%'
引自MySQL 5.0 Reference Manual :: 8.1.1 String s:
\%
和\_
序列用于在模式匹配上下文中搜索%
和_
的文字实例,否则它们将被解释为通配符。
答案 1 :(得分:1)
这是一种标准方式:
SELECT * FROM mytable WHERE tag like '%|%%' ESCAPE '|'