2017-07-07 125 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