2017-07-07 123 views
2

如果列值是2_applesfinal_chapter如何匹配包含下划线"_"的值?如何匹配字符串中的下划线 - MYSQL

我已经试过:

SELECT DISTINCT brand FROM `items` WHERE brand like '%\\_' 
SELECT DISTINCT brand FROM `items` WHERE brand like '_' 
SELECT DISTINCT brand FROM `items` WHERE brand like '%_%' 
SELECT DISTINCT brand FROM `items` WHERE brand like LIKE '\_' 

它要么显示所有结果或无。有什么建议么?

+0

第三个应该正常工作。 – enucar

+0

我没有,但它取索尼'Playstation' 'Micronet' '游戏机4' 'Gaems' '索尼VR'但不是'e_gold' – RanaHaroon

+1

除了下面的答案,重复的链接,你也可以使用' REGEXP'直接用下划线,无需转义:'WHERE brand REGEXP'_'' –

回答

4

尝试

WHERE brand LIKE '%\_%' 

下划线为单个字符的通配符,而%为多个(或没有)的字符的通配符。在前面放一个反斜杠来逃避它们。

如果你不喜欢逃避的东西,因为它是丑陋或可怕的,那么替代方法是直接使用REGEXP运营商以下划线:

WHERE brand REGEXP '_' 
+0

谢谢,这很有效。 – RanaHaroon