Zurück zu: SQL Tutorial
Der SQL LIKE Operator
Der LIKE
Operator 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 LIKE
Operator verwendet werden:
- Das Prozentzeichen
%
steht für null, ein oder mehrere Zeichen. - Das Unterstrichzeichen
_
steht für ein einzelnes Zeichen.
Mehr zu Platzhaltern erfahren Sie im nächsten Kapitel.
Beispiel
Wählen Sie alle Kunden aus, die mit dem Buchstaben „a“ beginnen:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Demo Datenbank
Nachfolgend sehen Sie eine Auswahl aus der in den Beispielen verwendeten Kundentabelle:
KundenID | Kundenname | Kontaktname | Address | Stadt | Postleitzahl | Land |
---|---|---|---|---|---|---|
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 _
steht für genau ein Zeichen.
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__';
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 „L“ enthält:
SELECT * FROM Customers
WHERE city LIKE '%L%';
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 „La“ beginnen:
SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';
Tipp: Sie können mit den Operatoren „
UND
“ oder „ODER
“ auch beliebig viele Bedingungen kombinieren.
Beispiel
Gibt alle Kunden zurück, die mit „a“ oder „b“ beginnen:
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%' OR CustomerName LIKE 'b%';
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';
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';
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 „oder“ enthalten.
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
Platzhalter kombinieren
Alle Platzhalterzeichen, beispielsweise % 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__%';
Beispiel
Gibt alle Kunden zurück, die an der zweiten Stelle ein „r“ haben:
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
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';