I den här artikeln kommer vi att granska den nya SQL TRIM-funktionen i SQL Server 2017 och framåt samt tillhandahåller viss information om strängfunktioner som förutdatar det som LTRIM OCH RTRIM.
SQL-utvecklare möter vanligtvis problem med spaceS i början och / eller slutet av en teckensträng. Vi kan behöva trimma ledande och efterföljande tecken från en teckensträng. Vi kan också behöva göra strängmanipulationer med SQL-funktioner. Antag att vi vill ta bort mellanslag från den bakre änden av en sträng, vi skulle behöva använda SQL LTRIM och RTRIM-funktioner fram till SQL Server 2016.
I SQL Server 2017 får vi en ny inbyggd funktion för att trimma både ledande och efterföljande tecken tillsammans med en enda funktion. SQL TRIM-funktionen ger ytterligare funktionalitet för att ta bort tecken från den angivna strängen. Vi kan fortfarande använda RTRIM och LTRIM-funktionen med SQL Server 2017 också. Låt oss utforska dessa funktioner med exempel.
SQL LTRIM-funktion
Det tar bort tecken från början (från vänster sida) av den angivna strängen. I följande fråga har vi vitt utrymme före och efter strängen. Vi måste ta bort utrymme från vänster sida av strängen med LTRIM-funktionen.
Vi använder funktionen SQL DATALENGTH () för att beräkna datalängden i byte före och efter användning av SQL LTRIM-funktionen.
- Datastringstorlek i byte för originalsträng: 24
- Datastringstorlek i byte efter SQL LTRIM: 18
SQL RTRIM-funktion
Det tar bort tecken från slutet ((börjar från höger sida) av den angivna strängen. Låt oss utföra följande fråga för att titta på effekten av SQL RTRIM-funktionen.
- Datasträngstorlek i byte för originalsträng: 24
- Storlek för datasträng i byte efter SQL RTRIM: 16
TRIM-funktion i SQL Server 2017
Innan SQL Server 2017, om vi behöver ta bort både ledande och träningsutrymmen, måste vi använda både LTRIM- och RTRIM-funktionen. I följande fråga , vi använde både LTRIM- och RTIM-funktioner med en strängvariabel.
I följande skärmdump kan vi se att den tar bort både ledande och tra iling utrymme från strängen.
- Datastringstorlek i byte för originalsträng: 24
- Datastringstorlek i byte efter SQL LTRIM: 11
- Datastringstorlek i byte för originalsträng: 25
- Storlek för datastring i byte efter SQL LTRIM och RTRIM: 11
Vi måste använda två funktioner för att ta bort mellanslag från strängen. Vi kan använda en enda instans av en TRIM-funktion i SQL Server 2017 och framåt för att trimma både ledande och efterföljande tecken, låt oss utforska TRIM-funktionen i ett ytterligare avsnitt i den här artikeln.
Syntaxen för TRIM-funktionen
1
|
TRIM (sträng)
|
- TrimCharacter: Vi kan ange tecknet som ska tas bort från strängen. Som standard tar SQL Server bort mellanslag från båda sidor av en sträng
- Sträng: Vi måste ange strängen som vi vill trimma
Låt oss utforska SQL TRIM-funktionen med exempel.
TRIM Leading och Training-utrymmen:
Som standard tar Trim-funktionen bort utrymmet från båda sidor av en sträng. I följande fråga måste vi definiera en sträng med utrymme på båda sidor om strängen.
Utför denna fråga:
Vi har inte angett några tecken som ska tas bort i TRIM-funktionen. I utdata tar SQL TRIM-funktionen bort både ledande och efterföljande utrymme.
Du kan också se skillnaden i stränglängd före och efter TRIM-funktionen.
- Datastringstorlek i byte för originalsträng: 24
- Storlek för datastring i byte efter SQL TRIM: 11
TRIM Ledande tecken från en sträng:
I föregående exempel undersökte vi att SQL TRIM är ersättning för RTRIM och LTRIM och det eliminerar att ta bort alla mellanslagstecken före och efter en sträng. Vi kan också ta bort karaktärerna från strängen med TRIM. Antag att vi vill ta bort tecken PÅ från strängen, vi kan ange det i TRIM-funktionen enligt följande skript.
Det kontrollerar de angivna tecknen på både den främre och efterföljande sidan och tar bort de specifika tecknen. I strängansökan har vi tecken PÅ i framsidan. I följande skärmdump kan du titta på utdata efter TRIM-funktionen.
- Datastringstorlek i byte för originalsträng: 11
- Storlek för datasträng i byte efter SQL TRIM: 9
Låt oss titta på ytterligare ett exempel. Den här gången vill vi ta bort tecken App från framsidan. Vi behöver inte göra några ändringar i skriptet. Vi kan ange tecknet som ska tas bort med SQL TRIM, och det ger önskad utdata.
- Storlek för datasträng i byte för originalsträng: 11
- datasträngstorlek i byte efter SQL TRIM: 8
I tidigare exempel tog vi bort tecken antingen från den främre änden eller efterföljande änden . Om vi har ett tecken på båda sidor tar det bort dem också.
I följande exempel vill vi ta bort tecken A som finns på båda sidor om strängen. Kör skriptet och det tar bort de angivna tecknen från båda sidor.
- Storlek för datasträng i byte för original String: 12
- Datastringstorlek i byte efter SQL TRIM: 10
Antag att vi har angett ett tecken som inte finns i strängen. I följande exempel vill vi ta bort tecken A och C från ledande eller efterföljande ände. Vi har inte tecken C på vardera sidan, så det tar inte bort det. Det tar bara bort tecken A och ger utdata.
- Storlek för datasträng i byte för originalsträng: 12
- Storlek för datasträng i byte efter SQL TRIM: 10
TRIM för poster i en tabell
I föregående artikel använde vi en variabel för att definiera en sträng och utföra SQL TRIM-operation på den. Vanligtvis behöver vi använda TRIM i tabellposter. Låt oss använda det i följande exempel.
I följande exempel eliminerade det tecken R från strängen i den främre och efterföljande änden.
Vi kan också använda SQL TRIM-funktionen i Update-uttalandet. Antag att vi vill uppdatera alla poster i tabellen Anställda och vill ta bort karaktärshanteraren från JobTitile.
Det behandlar inte chefen som ett enda ord. Trimfunktionen kontrollerar varje tecken i strängen och eliminerar den.
Vi kan använda komma (,) för att separera varje tecken också.
Det gör också samma arbete och tar bort specifika tecken från strängen i en ledande och efterföljande ände.
Slutsats
I den här artikeln utforskade vi SQL TRIM-funktionen med SQL Server 2017 och senare. Vi lärde oss också om TRIM-funktionerna LTRIM och RTRIM tillgängliga på eller före SQL Server 2016 också.
Beroende på vilken version av SQL Server du använder bör du förstå dessa funktioner och känna till begreppen. Jag hoppas att du tycker att den här artikeln är användbar. Lämna gärna feedback eller ställ frågor i kommentarerna nedan.
- Författare
- Senaste inlägg
Han är skaparen av en av de största gratis onlinesamlingarna av artiklar om ett enda ämne, med sin 50-delarserie om SQL Server Always On Availability Groups. Baserat på sitt bidrag till SQL Server-communityn har han fått utmärkelser med olika utmärkelser, inklusive den prestigefyllda ”Årets bästa författare” kontinuerligt 2020 och 2021 på SQLShack.
Raj är alltid intresserad av nya utmaningar så om du behöver rådgivning hjälp om alla ämnen som behandlas i hans skrifter, han kan nås på [email protected]
Visa alla inlägg av Rajendra Gupta
- Utför mindre och större versionuppgraderingar för AWS RDS SQL Server – 29 januari 2021
- Distribuera AWS RDS PostgreSQL-instanser – 27 januari 2021
- Migrera dina lokala SQL-databaser till AWS RDS SQL Server med AWS DMS – 25 januari 2021