我知道我们可以在SQL查询中使用LIKE谓词来查找包含字母数字和特殊字符(WHERE desc LIKE'%#%')的行。但是,如何查找包含“%”符号的行? (WHERE desc LIKE'%%%'返回全部行)。SQL Query查询包含“%”的行
-1
A
回答
3
这取决于您的数据库引擎。
\%
是MySQL和Oracle中%
的转义字符。
WHERE desc LIKE '%\%%'
+0
juergen d,感谢您的快速响应,但这并不适用于我(我正在使用SQL Server 2012)。然而,这工作:WHERE desc LIKE'%[%]%'(见[link] http://www.techtamasha.com/escape-single-quotes-and-wild-cards-_-in-ms-sql/ 20) – Vik
1
转义字符在SQL Server中很难遵循。只是让文字
WHERE desc LIKE '%[%]%'
按照部分"Using Wildcard Characters As Literals"
要使用通配符作为文字字符,在方括号括起来的通配符。
0
ANSI SQL允许您使用escape
子句指定转义字符,例如,
where desc like '%\%%' escape '\'
你使用了什么[标签:rdbms]? – Mureinik
你研究过了吗?看起来像一个非常简单的答案,以快速的谷歌搜索找到。 –