SQL Server 2016 eller eldre versjoner har ikke en rett frem strengmanipuleringsfunksjon for å trimme både det ledende og etterfølgende uønskede rommet. Det er løsninger for å bruke LTRIM for å fjerne det ledende rommet og RTRIM for å fjerne det etterfølgende rommet separat. Den gode nyheten er at den innebygde TRIM-funksjonen introduseres i SQL Server 2017-versjonen sammen med andre strengfunksjoner som translate () og concat_ws (). Denne nye funksjonen vil fjerne mellomrom på begge sider av strengen i en operasjon og gjøre koden ren.
TRIM () i SQL Server 2017 og høyere
TRIM () -funksjonen er introdusert i SQL Server 2017. I alle de forrige versjonene har vi bare LTRIM () for å fjerne ledende mellomrom fra strengen og RTRIM () for å fjerne etterfølgende mellomrom. Den nylig introduserte funksjonen kan brukes til å fjerne uønskede ledende og etterfølgende mellomrom fra en streng på en gang. Den kan også brukes til å fjerne andre tegn enn mellomrom fra begynnelsen og slutten av strengen.
Bruk av den innebygde TRIM-funksjonen
Syntaksen for trim er TRIM (streng) . Hvis du bare strenger uten å bruke tegn FROM, vil den trimme mellomromene på begge sider av strengen. Hvis du bruker ‘Tegn’ FRA, vil den se på de spesifikke tegnene i begynnelsen og slutten av strengen og fjerne dem.
Eksempel for å trimme plass alene
SELECT TRIM(" My Tec Bits ")/* Result */"My Tec Bits"
Eksempel for beskjæring av tegn
SELECT TRIM( ".! " FROM "@ My Tec Bits !..") AS Result;/* Result */"@ My Tec Bits"
TRIM-ekvivalent i SQL Server 2016 til 2005
I SQL Server 2016 og lavere versjoner, hvis du prøver å bruke TRIM-funksjonen, får du en feil om at TRIM ikke er et anerkjent innebygd funksjonsnavn. Så i de eldre versjonene av SQL Server, tilsvarer den innebygde funksjonen LTRIM og RTRIM sammen som LTRIM (RTRIM (‘String’)). Hvis du synes denne teknikken får koden til å se stygg ut, kan du legge denne metoden i en UDF og bruke den slik:
TRIM-ekvivalent i SQL Server 2000
I versjon 2000 av SQL Server også du kan bruke LTRIM og RTRIM sammen for å oppnå begge sidetrimfunksjonalitet. Hvis du er tilbøyelig til å lage en UDF, er det en mindre endring fra UDF vi har opprettet før. SQL Server 2000 har ikke datatypen Varchar (Max). Så vi må bruke datatypen Varchar (8000) i stedet. UDF vil være slik: