SELECT查询字符串包含'%'字符

问题描述:

需求是查询其中包含'%'字符的所有字符串。例如:“约翰%”,“江淮%OB”SELECT查询字符串包含'%'字符

为“%”本身就是一个通配符,如何查询呢??

提前致谢!

+0

在SQL'LIKE'语句中转义字符串的两种基本方法。方括号(例如'LIKE'%[%]%'')和单词ESCAPE(例如'LIKE'%\ %%'ESCAPE'\'')。 – ZLK

+4

这是在MySQL还是SQL Server? – bbrumm

当使用LIKE用通配符,如%,你能逃脱与\

SELECT * 
FROM yourtable 
WHERE yourstring LIKE '%John\%%' ESCAPE '\'; 

或者通配符:

SELECT * 
FROM yourtable 
WHERE yourstring LIKE '%Jac\%ob%' ESCAPE '\'; 

还发现,他们使用单引号包含字符串,而比双引号。

感谢ZLK和blendenzo澄清在下面的意见。

+2

你似乎误解了这个问题。我不认为他们在问如何使用通配符。他们想知道如何查找实际包含%字符的字符串。 – blendenzo

+0

@blendenzo - 你是对的,我误解了它。我已经更新了我的答案。谢谢。 – bbrumm

+1

没有关键字“ESCAPE”,这仍然不起作用。例如,看我的评论。此外,他只是寻找包含百分号的字符串,而不是那些特定的字符串。 – ZLK