Problem:
Sie möchten Zeilen auswählen, die eine Zeichenfolge enthalten, die mit einem aus einer bestimmten Gruppe von Zeichen beginnt.
Beispiel:
Unsere Datenbank hat eine Tabelle namens gamer mit Daten in der id und user Spalten.
| id | Benutzer |
|---|---|
| 1 | Supermann |
| 2 | magnus |
| 3 | lucy |
| 4 | stand |
| 5 | ali |
Lassen Sie uns alle Daten für Spieler finden, deren Benutzernamen mit „a“, „b“, „r“ oder „s“ beginnen.
Lösung:
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
Hier ist das Ergebnis:
| id | Benutzer |
|---|---|
| 1 | Supermann |
| 4 | stand |
| 5 | ali |
Diskussion:
Wenn Sie Zeilen filtern möchten, die eine Zeichenfolge enthalten, die einem bestimmten Muster entspricht, verwenden Sie die WHERE-Klausel mit dem LIKE-Operator. Die WHERE-Klausel wird verwendet, um Datensätze zu filtern, die die angegebenen Bedingungen erfüllen. Hinter WHERE fügen Sie einen Spaltennamen oder einen Ausdruck hinzu, gefolgt vom Operator (z. B. LIKE) und dem/den Vergleichswert(en). Nach LIKE geben Sie das zu vergleichende Muster ein (in unserem Beispiel WHERE user LIKE '[abrs]%' ). Das Muster kann Zeichen und Platzhalter enthalten.
Einer der Platzhalter von T-SQL ist „%“, was null oder mehr unbekannte Zeichen darstellt. Der Unterstrich-Platzhalter ( _ ) gibt ein Zeichen an. Die Klammern ( [] ) schließen das passende Muster ein; Dieses Muster kann einen oder mehrere Buchstaben oder Zahlen enthalten. Die Zielzeichenfolge kann mit einem oder mehreren der Zeichen in den Klammern übereinstimmen.
In unserem Beispiel das Muster '[abrs]%' bedeutet, dass der Benutzername entweder mit a, b, r oder s beginnen muss. Nach dem Startzeichen können null oder mehr Zeichen stehen, da wir den Platzhalter % verwendet haben.
Die Benutzer mit id=2 und id=3 werden nicht angezeigt; Ihre Namen beginnen mit „l“ und „m“ und stimmen daher nicht mit dem von uns ausgewählten Muster überein.