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' |