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