2017-07-07 3 views
2

Wenn Spaltenwert ist 2_apples oder final_chapter Wie finde ich einen Wert, der einen Unterstrich "_" enthält?Wie Unterstreichung in String - MYSQL

Ich habe versucht, mit:

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

Es zeigt entweder alle Ergebnisse oder keine. Irgendwelche Vorschläge?

+0

Die dritte sollte gut funktionieren. – enucar

+0

ich tat, aber es holt Sony 'Playstation' ' Micronet' 'Playstation 4' ' Gaems' ' Sony VR' aber nicht 'e_gold' – RanaHaroon

+1

Neben der Antwort unten und das Duplikat Link, könnten Sie auch' REGEXP' mit Unterstrich direkt, ohne die Notwendigkeit zu entkommen: 'WO Marke REGEXP '_'' –

Antwort

4

Versuchen

WHERE brand LIKE '%\_%' 

Der Unterstrich ein Platzhalter für ein einzelnes Zeichen ist, während die% Platzhalter für mehrere (oder keine) Zeichen ist. Setzen Sie einen Backslash davor, um ihnen zu entkommen.

Wenn Sie nicht wie die Dinge zu entkommen, weil es hässlich oder beängstigend, dann wäre eine Alternative, den REGEXP Operator mit Strich direkt zu verwenden:

WHERE brand REGEXP '_' 
+0

Danke, das hat funktioniert. – RanaHaroon