SQLite LIKE-Klausel
SQLitesLIKE-Operator wird verwendet, um Textwerte mit einem durch Wildcards angegebenen Muster abzugleichen. Wenn der Suchausdruck mit dem Musterausdruck übereinstimmt, gibt der LIKE-Operator true zurück, d. h. 1. Hier sind zwei Wildcards, die mit dem LIKE-Operator verwendet werden:
Prozentzeichen (%)
Unterstrich (_)
Das Prozentzeichen (%) steht für null, eine oder mehrere Zahlen oder Zeichen. Der Unterstrich (_) steht für eine einzelne Zahl oder ein einzelnes Zeichen. Diese Symbole können kombiniert werden.
Syntax
Die grundlegende Syntax von % und _ lautet wie folgt:
SELECT column_list FROM table_name WHERE column LIKE 'XXXX%' or SELECT column_list FROM table_name WHERE column LIKE '%XXXX%' or SELECT column_list FROM table_name WHERE column LIKE 'XXXX_' or SELECT column_list FROM table_name WHERE column LIKE '_XXXX' or SELECT column_list FROM table_name WHERE column LIKE '_XXXX_'
Sie können die Operatoren AND oder OR verwenden, um N Bedingungen zu kombinieren. Hier kann XXXX ein beliebiger numerischer oder Zeichenkettenwert sein.
Beispiele
Die folgenden Beispiele veranschaulichen die Unterschiede der LIKE-Klausel mit den Operatoren '%' und '_':
| Anweisung | Beschreibung |
|---|---|
| WHERE SALARY LIKE '200%' | Finden Sie einen beliebigen Wert, der mit 200 beginnt |
| WHERE SALARY LIKE '%200%' | Finden Sie einen beliebigen Wert, der 200 an einer beliebigen Position enthält |
| WHERE SALARY LIKE '_00%' | Finden Sie jeden Wert, bei dem die zweite und dritte Position 00 sind |
| WHERE SALARY LIKE '2_%_%' | Finden Sie jeden Wert, der mit 2 beginnt und mindestens 3 Zeichen lang ist |
| WHERE SALARY LIKE '%2' | Finden Sie jeden Wert, der mit 2 endet |
| WHERE SALARY LIKE '_2%3' | Finde jeden Wert, bei dem die zweite Position 2 ist und der mit 3 endet |
| WHERE SALARY LIKE '2___3' | Finde jeden Wert, der 5 Ziffern lang ist, mit 2 beginnt und mit 3 endet |
Betrachten wir ein praktisches Beispiel. Angenommen, die Tabelle COMPANY enthält die folgenden Datensätze:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Das folgende Beispiel zeigt alle Datensätze in der Tabelle COMPANY, bei denen AGE mit 2 beginnt:
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';
Dies erzeugt das folgende Ergebnis:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Das folgende Beispiel zeigt alle Datensätze in der Tabelle COMPANY, bei denen der ADDRESS-Text einen Bindestrich (-) enthält:
sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
Dies erzeugt das folgende Ergebnis:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 6 Kim 22 South-Hall 45000.0Andere Erweiterungen