SQL Server Split String

SQL Server Split String
Hvis du har jobbet med databaser i lang tid, er sjansen stor for at du har lurt på hvordan du kan gjøre en rekke strenger til rader i en database. I løpet av de siste årene må du implementere en tilpasset metode for å konvertere en sekvens av strenger til tabellrader. I Microsoft SQL Server 2016 og over kan vi imidlertid bruke String_split () -funksjonen.

Som diskutert i denne guiden, vil vi ta en streng i et matrise-lignende format og konvertere den til et sett med rader basert på en spesifikk avgrenser.

SQL Server String_split () -funksjon

SQL Server String_split () er en tabellverdifunksjon introdusert i SQL Server 2016. Den lar deg dele en streng i tabellrader med understrenger atskilt med en spesifisert avgrenser.

Syntaksen for String_split -funksjonen er som vist:

String_split (streng, avgrensning);

Funksjonsargumenter og returverdi

Funksjonen tar to argumenter:

  1. streng - en streng bokstavelig eller et uttrykk som evaluerer til char, varchar, nvarchar, nchar -type.
  2. Avgrensning - en avgrensningsverdi som brukes til å skille strengene.

Returverdi
Funksjonen returnerer enkeltkolonnen med en navneverdi. Radene er strengene atskilt med funksjonen.

Selv om funksjonen skiller strengene i rader basert på den spesifiserte avgrenseren, kan funksjonen organisere radene i hvilken som helst rekkefølge. Du kan bruke ordren etter klausul for å definere sorteringsordren din.

Split String: Eksempler

La oss se på noen få eksempler og forstå hvordan du bruker String_split -funksjonen i SQL Server.

Eksempel 1
Eksemplet spørring nedenfor skiller en streng ved hjelp av et rom som avgrenser.

Velg verdi fra String_split ('MySQL PostgreSql MongoDB SQL Server SQLite', ");

Spørringen over skal dele strengene med et romkarakter og returnere radene. Et eksempelutgang er som vist:

Eksempel 2
Du kan også skille en komma-separert streng som vist i spørringen nedenfor:

Velg verdi fra String_split ('MySQL, PostgreSql, MongoDB, SQL Server, SQLite', ',');

Funksjonen skal returnere resultatene som:

Eksempel 3
Eksemplet nedenfor viser hvordan du bruker rekkefølgen BY -leddet med String_split -funksjonen ().

Velg verdi fra String_split ('MySQL, PostgreSQL, MongoDB, SQL Server, SQLite', ',') Order etter verdi DESC;

De resulterende postene er som vist:

Lukking

Denne korte guiden hjelper deg med å bruke SQL Server String_split -funksjonen for å skille strenger basert på en avgrensning.