Problem:
Chcesz usunąć spacje lub określone znaki z początku i końca ciągu.
Przykład:
Nasza baza danych zawiera tabelę o nazwie company
z danymi w dwóch kolumnach:id
i name
.
id | imię |
---|---|
1 | ' Supermarket ' |
2 | 'Zielony sklep' |
3 | 'Nowoczesna księgarnia' |
Skróćmy nazwę każdej firmy, 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(' ' FROM name) AS new_name FROM company;
Alternatywnie możesz użyć krótszej wersji bez FROM
słowo kluczowe i spacja jako znaki do usunięcia; domyślnie TRIM
potraktuje to jako usunięcie spacji z ciągu zapisanego w danej kolumnie lub wyrażeniu w argumencie funkcji TRIM.
SELECT TRIM(name) AS new_name FROM company;
Oto wynik obu zapytań:
nowa_nazwa |
---|
„Super market” |
'Zielony sklep' |
'Nowoczesna księgarnia' |
Dyskusja:
Użyj TRIM
funkcja, jeśli chcesz przyciąć ciąg w tabeli. Ta funkcja umożliwia usunięcie określonego znaku z początku i końca ciągu. Ta funkcja przyjmuje następujące argumenty:
- Znak, który chcesz wyciąć z ciągu, domyślnie jest to spacja.
FROM
słowo kluczowe, po którym następuje nazwa kolumny ciągu do przycięcia.
W naszym przykładzie wygląda to tak:
TRIM(' ' FROM name)
T-SQL umożliwia również usuwanie spacji innych znaków tylko z początku lub tylko z końca ciągu.
Poniższy przykład usuwa spację na końcu każdej firmy za pomocą funkcji RTRIM().
SELECT RTRIM(name) AS new_name FROM company;
nowa_nazwa |
---|
'Super market' |
'Zielony sklep' |
'Nowoczesna księgarnia' |
Ale równie dobrze może być użyty do przycięcia przestrzeni na początku, jeśli użyjesz LTRIM
funkcja zamiast:
SELECT LTRIM(name) AS new_name FROM company;
Zapytanie zwraca name
kolumna bez spacji na końcu. Zwróć uwagę, że spacje na początku pozostają nietknięte.
nowa_nazwa |
---|
'Super market ' |
'Zielony sklep' |
'Nowoczesna księgarnia' |