4 sätt att dela sträng med avgränsare i SQL

Många SQL-utvecklare stöter på behovet av att dela upp strängar i mindre delar, baserat på ett visst avgränsningstecken. Ibland kan det dock kännas oklart exakt hur man ska gå tillväga. I den här guiden kommer vi därför att utforska olika metoder för att dela strängar med avgränsare i SQL, på ett sätt som är enkelt att följa. Läs igenom de olika stegen noggrant för att på ett effektivt sätt dela upp strängar med hjälp av avgränsare i din SQL-server.

Fyra Metoder för att Dela Strängar med Avgränsare i SQL

Vi kommer att gå igenom fyra olika sätt att hantera delade strängvärden. Du kan välja den metod som bäst passar dina behov och med respektive funktion nå önskat resultat i SQL-servern. Låt oss sätta igång!

Metod 1: Grundläggande SQL-strängdelning

Detta är en av de enklaste metoderna för att dela en sträng med avgränsare. Den använder funktionen SPLIT(), som tar emot strängen och avgränsaren som argument. Strängen delas sedan upp baserat på den specificerade avgränsaren.

Syntax:

SPLIT(sträng, avgränsare)

1. Som standard delar denna funktion upp strängvärdet baserat på kommatecken (,). Om du vill använda en annan avgränsare, måste du ange den.

Exempel:

SELECT
   SPLIT('1,2,3,4,5,6,7', ',') AS arr;

Resultat:

arr
  "[1,2,3,4,5,6,7]"

2. Om en tom avgränsare anges, returnerar funktionen en UTF-8-teckenarray från strängvärdet. I exemplet nedan delar vi strängen med ett blanksteg som avgränsare.

Exempel: (Array av strängar)

SELECT
   SPLIT('p q r s t u v', ' ') AS arr;

Resultat:

arr
  "[p,q,r,s,t,u,v]"

3. Om du använder en tom sträng, kommer funktionen att returnera en tom array.

Exempel:

SELECT
   SPLIT('', '') AS arr;

Resultat:

arr
  []

Metod 2: SQL Server-strängdelning

I SQL Server kan du använda STRING_SPLIT()-funktionen för att dela en sträng med en avgränsare.

Syntax:

STRING_SPLIT (sträng , avgränsare)

Exempel:

SELECT
   VALUE
  FROM
   STRING_SPLIT('m,n,o,p,q,r', ',');

Resultat:

VALUE
  --------------------
  m
  n
  o
  p
  q
  r

Metod 3: PostgreSQL-strängdelning

Med hjälp av SPLIT_PART()-funktionen kan du dela upp vilken sträng som helst i SQL. Den här funktionen i PostgreSQL tar en sträng och en avgränsare som indata. Den returnerar också den del av strängen som specificeras av en positionsangivelse.

Obs: Positionsparametern måste vara ett positivt heltal som börjar på 1.

Syntax:

SPLIT_PART(sträng, avgränsare, position)

Exempel:

select split_part('h,e,l,l,o', ',', 3);

Resultat:

split_part
  l
  

Metod 4: MySQL-strängdelning

För att dela upp strängar i MySQL kan vi använda SUBSTRING_INDEX()-funktionen. Den tar strängen, avgränsaren och ett räknarargument som indata. Funktionen returnerar den angivna delen av strängen som avgränsas av avgränsaren.

Syntax:

SUBSTRING_INDEX(sträng, avgränsare, antal)

Exempel:

SELECT SUBSTRING_INDEX('q,w,e,r,t,y', ',', 6);

Resultat:

q,w,e,r,t,y

***

Vi hoppas att du nu har en bra förståelse för de fyra olika sätten att dela upp strängar med avgränsare i SQL. Om du har några frågor kring den här artikeln eller önskar att vi skriver om något annat ämne, får du gärna lämna en kommentar nedan.