Problem:
Du vill ta bort ett mellanslag eller ett specifikt tecken från början och slutet av en sträng.
Exempel:
Vår databas har en tabell som heter företag
med data i två kolumner:id
och namn
.
id | namn |
---|---|
1 | ' Super Market ' |
2 | 'Grön butik ' |
3 | ' Modern Bookshop' |
Låt oss trimma namnet på varje företag för att ta bort det onödiga utrymmet i början och slutet.
Lösning:
Vi använder TRIM
fungera. Här är frågan du skulle skriva:
SELECT TRIM(' ' FROM name) AS new_name FROM company;
Alternativt kan du använda den kortare versionen utan FROM
nyckelord och mellanslag som tecken att ta bort; som standard, TRIM
kommer att behandla detta som att ta bort mellanslag från en sträng lagrad i en given kolumn eller uttryck i argumentet för TRIM-funktionen.
SELECT TRIM(name) AS new_name FROM company;
Här är resultatet av båda frågorna:
nytt_namn |
---|
'Supermarknad' |
'Grön butik' |
'Modern bokhandel' |
Diskussion:
Använd TRIM
funktion om du vill trimma en sträng i en tabell. Denna funktion låter dig ta bort ett specifikt tecken från början och slutet av en sträng. Den här funktionen tar följande argument:
- Tecknet du vill trimma från strängen, som standard är det ett mellanslag..
FRÅN nyckelord, följt av namnet på strängkolumnen som ska trimmas.
I vårt exempel ser det ut så här:
TRIM(' ' FROM name)
T-SQL tillåter också att ta bort mellanslag för andra tecken endast från början eller endast från slutet av en sträng.
Exemplet nedan tar bort utrymmet i slutet av varje företag genom att använda RTRIM()-funktionen.
SELECT RTRIM(name) AS new_name FROM company;
nytt_namn |
---|
' Super Market' |
'Grön butik' |
' Modern Bookshop' |
Men kan lika gärna användas för att trimma utrymmet i början om du använder LTRIM
funktion istället:
SELECT LTRIM(name) AS new_name FROM company;
Frågan returnerar name
kolumn utan mellanslag i slutet. Lägg märke till att utrymmena i början lämnas orörda.
nytt_namn |
---|
'Supermarknad ' |
'Grön butik ' |
'Modern bokhandel' |