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.