SQL Wildcards
Wildcards können verwendet werden, um jedes andere Zeichen in einer Zeichenfolge zu ersetzen.
SQL Platzhalter
In SQL werden Wildcards mit dem SQL-LIKE-Operator verwendet.
SQL-Wildcards werden verwendet, um nach Daten in einer Tabelle zu suchen.
In SQL können die folgenden Wildcards verwendet werden:
| Platzhalter | Beschreibung |
|---|---|
| % | Ersetzt 0 oder mehr Zeichen |
| _ | Ersetzt ein einzelnes Zeichen |
| [charlist] | Ein beliebiges einzelnes Zeichen in einer Zeichenspalte |
| [^charlist] oder [!charlist] |
Ein beliebiges einzelnes Zeichen, das nicht in einer Zeichenspalte enthalten ist |
Demo-Datenbank
In diesem Tutorial verwenden wir die Beispieldatenbank EXAMPLE.
Das Folgende sind Daten, die aus der Tabelle "Websites" ausgewählt wurden:
mysql> SELECT * FROM Websites; +----+---------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+---------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | Example | http://www.example.com/ | 5000 | USA | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Verwenden des SQL-Platzhalters %
Die folgende SQL-Anweisung wählt alle Websites aus, deren url mit den Buchstaben "https" beginnt:
Beispiel
WHERE url LIKE 'https%';
Ausführungsergebnis:
Die folgende SQL-Anweisung wählt alle Websites aus, deren url das Muster "oo" enthält:
Beispiel
WHERE url LIKE '%oo%';
Ausführungsergebnis:
Verwenden des SQL-Platzhalters _
Die folgende SQL-Anweisung wählt alle Kunden aus, deren name mit einem beliebigen einzelnen Zeichen beginnt, auf das "oogle" folgt:
Beispiel
WHERE name LIKE '_oogle';
Ausführungsergebnis:
Die folgende SQL-Anweisung wählt alle Websites aus, deren Name mit "G" beginnt, dann ein beliebiges einzelnes Zeichen, dann "o", dann ein beliebiges einzelnes Zeichen, dann "le":
Beispiel
WHERE name LIKE 'G_o_le';
Ausführungsergebnis:
Verwenden des SQL-[charlist]-Platzhalters
In SQL wird der [charlist]-Platzhalter verwendet, um eine Liste von Zeichen anzugeben, mit der ein beliebiges einzelnes Zeichen aus dieser Liste abgeglichen wird.
Er wird üblicherweise mit dem LIKE-Operator für den Musterabgleich verwendet, beispielsweise in der WHERE-Klausel.
Die folgende SQL-Anweisung wählt alle Websites aus, deren Name mit "G", "F" oder "s" beginnt:
Beispiel
WHERE name REGEXP '^[GFs]';
Ausführungsergebnis:
Die folgende SQL-Anweisung wählt Websites aus, deren Name mit den Buchstaben A bis H beginnt:
Beispiel
WHERE name REGEXP '^[A-H]';
Ausführungsergebnis:
Die folgende SQL-Anweisung wählt Websites aus, deren Name nicht mit den Buchstaben A bis H beginnt:
Beispiel
WHERE name REGEXP '^[^A-H]';
Ausführungsergebnis: