SQL - LIKE - Klausel
Die SQL LIKEDie Klausel wird verwendet, um einen Wert mithilfe von Platzhalteroperatoren mit ähnlichen Werten zu vergleichen. In Verbindung mit dem Operator LIKE werden zwei Platzhalter verwendet.
- Das Prozentzeichen (%)
- Der Unterstrich (_)
Das Prozentzeichen steht für null, ein oder mehrere Zeichen. Der Unterstrich steht für eine einzelne Zahl oder ein einzelnes Zeichen. Diese Symbole können in Kombinationen verwendet werden.
Syntax
Die grundlegende Syntax von% und _ lautet wie folgt:
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
Sie können N Bedingungen mit UND- oder ODER-Operatoren kombinieren. Hier kann XXXX ein beliebiger numerischer Wert oder ein Zeichenfolgenwert sein.
Beispiel
Die folgende Tabelle enthält einige Beispiele, die zeigen, dass der WHERE-Teil eine andere LIKE-Klausel mit den Operatoren '%' und '_' hat.
Sr.Nr. | Aussage & Beschreibung |
---|---|
1 | WHERE SALARY LIKE '200%' Findet alle Werte, die mit 200 beginnen. |
2 | WHERE SALARY LIKE '%200%' Findet alle Werte mit 200 an einer beliebigen Position. |
3 | WHERE SALARY LIKE '_00%' Findet alle Werte mit 00 an der zweiten und dritten Position. |
4 | WHERE SALARY LIKE '2_%_%' Findet alle Werte, die mit 2 beginnen und mindestens 3 Zeichen lang sind. |
5 | WHERE SALARY LIKE '%2' Findet alle Werte, die mit 2 enden. |
6 | WHERE SALARY LIKE '_2%3' Findet alle Werte, die eine 2 an zweiter Stelle haben und mit einer 3 enden. |
7 | WHERE SALARY LIKE '2___3' Findet alle Werte in einer fünfstelligen Zahl, die mit 2 beginnen und mit 3 enden. |
Nehmen wir ein reales Beispiel, betrachten wir die CUSTOMERS-Tabelle mit den unten gezeigten Datensätzen.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Es folgt ein Beispiel, in dem alle Datensätze aus der Tabelle CUSTOMERS angezeigt werden, in der das Gehalt mit 200 beginnt.
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
Dies würde das folgende Ergebnis erzeugen -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+