Problem:
Chcesz usunąć spacje lub określone znaki z początku i końca ciągu w SQLite.
Przykład:
Nasza baza danych zawiera tabelę o nazwie category
z danymi w dwóch kolumnach:id
i name
.
id | imię |
---|---|
1 | 'słodycze' |
2 | 'mięso' |
3 | 'warzywa' |
Skróćmy nazwę każdej kategorii produktów, aby usunąć niepotrzebną przestrzeń na początku i na końcu.
Rozwiązanie:
Użyjemy TRIM
funkcjonować. Oto zapytanie, które możesz napisać:
SELECT TRIM(' ', name) AS new_name FROM category;
Zauważ, że znak do usunięcia jest opcjonalny; możesz po prostu podać nazwę kolumny, jeśli chcesz usunąć znak spacji:
SELECT TRIM(name) AS new_name FROM category;
Oto wynik obu zapytań:
nowa_nazwa |
---|
'słodycze' |
'mięso' |
'warzywa' |
Dyskusja:
Użyj TRIM
funkcji w bazie danych SQLite, jeśli chcesz przyciąć ciąg w tabeli. Ta funkcja umożliwia usunięcie określonego znaku z początku i/lub końca ciągu. Wymaga następujących argumentów:
- Znak, który chcesz wyciąć z ciągu, który domyślnie jest spacją.
- Nazwa kolumny ciągu do przycięcia.
W naszym przykładzie wygląda to tak:
TRIM(' ' , name)
SQLite pozwala nam również usunąć spację lub inne znaki tylko z początku lub końca ciągu.
Poniższy przykład usuwa spację z końca każdej nazwy kategorii za pomocą RTRIM()
funkcja:
SELECT RTRIM(name) AS new_name FROM company;
nowa_nazwa |
---|
'słodycze' |
'mięso' |
'warzywa' |
Jak TRIM()
, RTRIM()
funkcja przyjmuje dwa argumenty:znaki do usunięcia i ciąg do przycięcia. Ponownie, możesz po prostu określić nazwę kolumny, jeśli znakiem do przycięcia jest spacja.
Jeśli chcesz usunąć znaki z początku ciągu, ale nie z końca, użyj LTRIM()
funkcja:
SELECT LTRIM(name) AS new_name FROM company;
Oczywiście możesz użyć tej funkcji z dwoma argumentami:znakami do usunięcia i ciągiem do przycięcia.
Powyższe zapytanie zwraca kolumnę nazwy bez spacji na początku:
nowa_nazwa |
---|
'słodycze ' |
'mięso' |
'warzywa' |