2017-02-27 110 views
-1

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

+3

你使用了什么[标签:rdbms]? – Mureinik

+1

你研究过了吗?看起来像一个非常简单的答案,以快速的谷歌搜索找到。 –

回答

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 '\'