2017-11-02 1 views
2

Offensichtlich funktioniert das nicht, aber wie suche ich buchstäblich nach allen Instanzen, wo die Werte in Spalte1 das Zeichen "^" enthalten?Suchen nach^Zeichen in einer MySQL-Tabelle

+1

'wählen Spalte aus der Tabelle, wo Spalte wie‚% ^%‘' ? 'regexp' ist etwas übertrieben. – lurker

+2

Wird nach '^' im * Namen * einer Spalte * oder im * Wert * einer Spalte gesucht? – tadman

+0

Der Spaltenwert. – iamafork

Antwort

2

können Sie einen regulären Ausdruck verwenden, aber die Flucht der ^ metacharacter:

WHERE `column` REGEXP '\^' 

Oder Sie können das LIKE Prädikat verwenden, die nicht ^ als metacharacter nicht behandeln:

WHERE `column` LIKE '%^%' 

@tadman fragt in einem Kommentar, wenn Sie nach Datenwerten in einer Spalte suchen, oder nach den Spaltennamen selbst, die ^ enthalten? Ich habe den gleichen Gedanken gehabt, als ich deine Frage zum ersten Mal vorbereitet habe.

Wenn Sie einen Charakter in den Namen von Tabellen oder Spalten suchen möchten, dann die INFORMATION_SCHEMA verwenden, zum Beispiel:

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%^%'; 
+0

"WIE '% ^%'" hat den Trick gemacht. – iamafork