Problem:
Du vil gerne fjerne et mellemrum eller et bestemt tegn fra begyndelsen og slutningen af en streng.
Eksempel:
Vores database har en tabel ved navn virksomhed
med data i to kolonner:id
og navn
.
id | navn |
---|---|
1 | ' Supermarked ' |
2 | 'Grøn butik ' |
3 | ' Modern Bookshop' |
Lad os trimme navnet på hvert firma for at fjerne det unødvendige mellemrum i begyndelsen og slutningen.
Løsning:
Vi bruger TRIM
fungere. Her er den forespørgsel, du ville skrive:
SELECT TRIM(' ' FROM name) AS new_name FROM company;
Alternativt kan du bruge den kortere version uden FROM
nøgleord og mellemrum som tegn, der skal fjernes; som standard TRIM
vil behandle dette som at fjerne mellemrum fra en streng gemt i en given kolonne eller udtryk i argumentet for TRIM-funktionen.
SELECT TRIM(name) AS new_name FROM company;
Her er resultatet af begge forespørgsler:
nyt_navn |
---|
'Supermarked' |
'Grøn butik' |
'Moderne boghandel' |
Diskussion:
Brug TRIM
funktion, hvis du vil trimme en streng i en tabel. Denne funktion giver dig mulighed for at fjerne et bestemt tegn fra begyndelsen og slutningen af en streng. Denne funktion tager følgende argumenter:
- Tegnet du vil trimme fra strengen, som standard er det et mellemrum..
FRA-koden> søgeord efterfulgt af navnet på den strengkolonne, der skal trimmes.
I vores eksempel ser det sådan ud:
TRIM(' ' FROM name)
T-SQL tillader også at fjerne mellemrum af andre tegn kun fra begyndelsen eller kun fra slutningen af en streng.
Eksemplet nedenfor fjerner pladsen i slutningen af hvert firma ved at bruge RTRIM()-funktionen.
SELECT RTRIM(name) AS new_name FROM company;
nyt_navn |
---|
' Supermarked' |
'Grøn butik' |
' Modern Bookshop' |
Men kunne lige så godt bruges til at trimme pladsen i begyndelsen, hvis du bruger LTRIM
funktion i stedet:
SELECT LTRIM(name) AS new_name FROM company;
Forespørgslen returnerer name
kolonne uden mellemrum i slutningen. Bemærk, at mellemrummene i begyndelsen forbliver uberørte.
nyt_navn |
---|
'Supermarked ' |
'Grøn butik ' |
'Moderne boghandel' |