Database
 sql >> Datenbank >  >> RDS >> Database

So ersetzen Sie einen Teil einer Zeichenfolge in T-SQL

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.