2017-03-24 7 views
0

ich eine SQL-Abfrage haben, die Ergebnisse übereinstimmt mit einem LIKE:MySQL unterstreichen mit LIKE Operator

_column_name_% 

Diese Ergebnisse angezeigt werden, wenn der Spaltenname ist:

_column_name_1 
_column_name_2 

Die Endnummer könnte sein, wirklich hohe Anzahl z 32.523 oder sogar 523624366234.

Wenn ich _column_name _ verwenden %%%%% diese 32523 entsprechen würde, aber nicht 523624366234.

Wie würde ich die LIKE ohne Eingabe% wiederholt übereinstimmen?

+1

Ihre Annahme, wie 'Like' Platzhalter Arbeit nicht korrekt ist. '%' ist ein Platzhalter für eine beliebige Anzahl von Zeichen. Sie müssen es nicht wiederholen - ein '%' ist ausreichend. 'Where Column Like '_Spaltenname _%' ist völlig in Ordnung. – Siyual

+1

Sie müssen "%" nicht wiederholt eingeben. Eins reicht. Es entspricht null oder mehr Zeichen – GurV

+0

Können Sie mir ein Beispiel zeigen, das nur eine Zeile mit _column_name_1 aber nicht _column_name_11 für mich zurückgibt. – bigdaveygeorge

Antwort

1

soll eine einfache SELECT-Abfrage mit dem Operator LIKE wie diese Sie

suchen haben den Unterstrich „\“ zu entkommen, wenn Sie eine haben.

statt pretext_% Verwendung Vorwand \ _%

Select * from mytable where field_1 like 'pretext\_%' 

Dies kehrt pretext_1 sowie pretext_11