SQL - Platzhalteroperatoren

Wir haben bereits über den SQL LIKE-Operator gesprochen, mit dem ein Wert mithilfe der Platzhalteroperatoren mit ähnlichen Werten verglichen wird.

SQL unterstützt zwei Platzhalteroperatoren in Verbindung mit dem LIKE-Operator, die in der folgenden Tabelle ausführlich erläutert werden.

Sr.Nr. Platzhalter & Beschreibung
1

The percent sign (%)

Entspricht einem oder mehreren Zeichen.

Note - MS Access verwendet das Platzhalterzeichen (*) anstelle des Platzhalterzeichens (%) in Prozent.

2

The underscore (_)

Entspricht einem Zeichen.

Note - MS Access verwendet ein Fragezeichen (?) Anstelle des Unterstrichs (_), um einem Zeichen zu entsprechen.

Das Prozentzeichen steht für null, ein oder mehrere Zeichen. Der Unterstrich steht für eine einzelne Zahl oder ein Zeichen. Diese Symbole können in Kombinationen verwendet werden.

Syntax

Die grundlegende Syntax eines '%' - und eines '_'-Operators 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 den Operatoren AND oder OR kombinieren. Hier kann XXXX ein beliebiger numerischer Wert oder ein Zeichenfolgenwert sein.

Beispiel

Die folgende Tabelle enthält eine Reihe von Beispielen, die den WHERE-Teil mit unterschiedlichen LIKE-Klauseln mit den Operatoren '%' und '_' zeigen.

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 Tabelle CUSTOMERS mit den folgenden 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 |
+----+----------+-----+-----------+----------+

Der folgende Codeblock ist 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 |
+----+----------+-----+-----------+----------+