SQL LIKE-Operator
Der SQL LIKE-Operator
Der Operator LIKE wird in einer WHERE-Klausel verwendet, um in einer Spalte nach einem angegebenen Muster zu suchen.
Es gibt zwei Platzhalter, die häufig in Verbindung mit dem Operator LIKE verwendet werden:
- Das Prozentzeichen
%steht für null, ein oder mehrere Zeichen - Das Unterstrichzeichen
_steht für ein einzelnes Zeichen
Mehr über Platzhalterzeichen erfahren Sie im nächsten Kapitel.
Beispiel
Wählen Sie alle Kunden aus, die mit dem Buchstaben beginnen "a":
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
Try it Yourself »
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Demo-Datenbank
Nachfolgend sehen Sie eine Auswahl aus der in den Beispielen verwendeten Tabelle Customers:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Der _ Platzhalter
Das Platzhalterzeichen _ steht für ein einzelnes Zeichen.
Es kann sich um ein beliebiges Zeichen oder eine beliebige Zahl handeln, aber jedes _ stellt ein und nur ein Zeichen dar.
Beispiel
Gibt alle Kunden aus einer Stadt zurück, die mit „L“ beginnt, gefolgt von einem Platzhalterzeichen, dann „nd“ und dann zwei Platzhalterzeichen:
SELECT * FROM Customers
WHERE city LIKE 'L_nd__';
Try it Yourself »
Der %-Platzhalter
Das Platzhalterzeichen % steht für eine beliebige Anzahl von Zeichen, auch für null Zeichen.
Beispiel
Gibt alle Kunden aus einer Stadt zurück, die den Buchstaben enthält 'L':
SELECT * FROM Customers
WHERE city LIKE '%L%';
Try it Yourself »
Beginnt mit
Um Datensätze zurückzugeben, die mit einem bestimmten Buchstaben oder einer bestimmten Phrase beginnen, fügen Sie am Ende des Buchstabens oder der Phrase das % hinzu.
Beispiel
Gibt alle Kunden zurück, die mit beginnen 'La':
SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';
Try it Yourself »
Tipp: Sie können auch eine beliebige Anzahl von Bedingungen mit den Operatoren AND oder OR kombinieren.
Beispiel
Gibt alle Kunden zurück, die mit „a“ oder „b“ beginnen:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%' OR CustomerName LIKE 'b%';
Try it Yourself »
Endet mit
Um Datensätze zurückzugeben, die mit einem bestimmten Buchstaben oder einer bestimmten Phrase enden, fügen Sie am Anfang des Buchstabens oder der Phrase das % hinzu.
Beispiel
Gibt alle Kunden zurück, die mit „a“ enden:
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
Try it Yourself »
Tipp: Sie können „beginnt mit“ und „endet mit“ auch kombinieren:
Beispiel
Gibt alle Kunden zurück, die mit „b“ beginnen und mit „s“ enden:
SELECT * FROM Customers
WHERE CustomerName LIKE 'b%s';
Try it Yourself »
Enthält
Um Datensätze zurückzugeben, die einen bestimmten Buchstaben oder eine bestimmte Phrase enthalten, fügen Sie sowohl vor als auch nach dem Buchstaben oder der Phrase das % hinzu.
Beispiel
Gibt alle Kunden zurück, die die Phrase enthalten 'or'
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
Try it Yourself »
Platzhalter kombinieren
Alle Platzhalterzeichen, wie % und _, können in Kombination mit anderen Platzhaltern verwendet werden.
Beispiel
Gibt alle Kunden zurück, die mit „a“ beginnen und mindestens 3 Zeichen lang sind:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
Try it Yourself »
Beispiel
Gibt alle Kunden zurück, die an der zweiten Stelle ein „r“ haben:
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
Try it Yourself »
Ohne Wildcard
Wenn kein Platzhalter angegeben ist, muss die Phrase eine exakte Übereinstimmung aufweisen, um ein Ergebnis zurückzugeben.
Beispiel
Rückgabe aller Kunden aus Spanien:
SELECT * FROM Customers
WHERE Country LIKE 'Spain';
Try it Yourself »