sql >> Database teknologi >  >> RDS >> Database

Sådan udskiftes en del af en streng i T-SQL

Problem:

Du vil gerne vælge rækker, der indeholder en streng, der starter med en af ​​en given gruppe af tegn.

Eksempel:

Vores database har en tabel ved navn gamer med data i id og user kolonner.

id bruger
1 supermand
2 magnus
3 lucy
4 stand
5 ali

Lad os finde alle data for spillere, hvis brugernavne starter med 'a', 'b', 'r' eller 's'.

Løsning:

SELECT id, 
  user
FROM gamer
WHERE user LIKE '[abrs]%';

Her er resultatet:

id bruger
1 supermand
4 stand
5 ali

Diskussion:

Hvis du vil filtrere rækker, der indeholder en streng, der matcher et givet mønster, skal du bruge WHERE-sætningen med LIKE-operatoren. WHERE-sætningen bruges til at filtrere poster, der opfylder angivne betingelser. Efter WHERE tilføjer du et kolonnenavn eller et udtryk efterfulgt af operatoren (f.eks. LIKE) og sammenligningsværdien/-værdierne. Efter LIKE indtaster du det mønster, der skal matche (i vores eksempel, WHERE user LIKE '[abrs]%' ). Mønsteret kan indeholde tegn og jokertegn.

Et af T-SQL's jokertegn er '%', som repræsenterer nul eller flere ukendte tegn. Understregningen jokertegnet ( _ ) angiver ét tegn. Klammerne ( [] ) omslutter mønsteret for at matche; dette mønster kan indeholde et eller flere bogstaver eller tal. Målstrengen kan matche et eller flere af tegnene i parentes.

I vores eksempel er mønsteret '[abrs]%' angiver, at brugernavnet skal starte med enten a, b, r eller s. Efter starttegnet kan der være nul eller flere tegn, fordi vi har brugt jokertegnet %.

Brugerne med id=2 og id=3 vises ikke; deres navne starter med 'l' og 'm' og matcher derfor ikke det mønster, vi har valgt.


  1. Hvordan kan jeg bruge forberedte erklæringer i CodeIgniter

  2. T-SQL SET-operatører, del 2:STYR OG UNDTAG

  3. Oracle-funktionseksempel for at få antal dage mellem to datoer

  4. En databasemodel til en onlineundersøgelse. Del 2