Problem:
Du vil gerne fjerne mellemrum eller et bestemt tegn fra begyndelsen og slutningen af en streng i SQLite.
Eksempel:
Vores database har en tabel med navnet category
med data i to kolonner:id
og name
.
id | navn |
---|---|
1 | ' slik ' |
2 | 'kød ' |
3 | 'grøntsager' |
Lad os trimme navnet på hver kategori af produkter for at fjerne den unødvendige plads i begyndelsen og slutningen.
Løsning:
Vi bruger TRIM
fungere. Her er den forespørgsel, du ville skrive:
SELECT TRIM(' ', name) AS new_name FROM category;
Bemærk, at tegnet, der skal fjernes, er valgfrit; du kan blot angive navnet på kolonnen, hvis du vil fjerne mellemrumstegnet:
SELECT TRIM(name) AS new_name FROM category;
Her er resultatet af begge forespørgsler:
nyt_navn |
---|
'slik' |
'kød' |
'grøntsager' |
Diskussion:
Brug TRIM
funktion i en SQLite-database, hvis du vil trimme en streng i en tabel. Denne funktion giver dig mulighed for at fjerne et bestemt tegn fra begyndelsen og/eller slutningen af en streng. Det kræver følgende argumenter:
- Tegnet du vil trimme fra strengen, som er et mellemrum som standard.
- Navnet på den strengkolonne, der skal trimmes.
I vores eksempel ser det sådan ud:
TRIM(' ' , name)
SQLite giver os også mulighed for at fjerne et mellemrum eller andre tegn kun fra begyndelsen eller slutningen af en streng.
Eksemplet nedenfor fjerner mellemrummet fra slutningen af hvert kategorinavn ved hjælp af RTRIM()
funktion:
SELECT RTRIM(name) AS new_name FROM company;
nyt_navn |
---|
' slik' |
'kød' |
'grøntsager' |
Ligesom TRIM()
, RTRIM()
funktion tager to argumenter:tegnene, der skal fjernes, og strengen, der skal trimmes. Igen kan du blot angive navnet på kolonnen, hvis tegnet, der skal trimmes, er et mellemrum.
Hvis du gerne vil fjerne tegn fra begyndelsen af en streng, men ikke fra slutningen, skal du bruge LTRIM()
funktion:
SELECT LTRIM(name) AS new_name FROM company;
Selvfølgelig kan du bruge denne funktion med to argumenter:tegnene der skal fjernes og strengen der skal trimmes.
Forespørgslen ovenfor returnerer navnekolonnen uden et mellemrum i begyndelsen:
nyt_navn |
---|
'slik ' |
'kød ' |
'grøntsager' |