Czasami przy wprowadzaniu danych do bazy zdaży się że na początku ciągu znaków wkradnie nam się niechciana spacja. Przy wyświetlaniu takich danych są to niepożądane znaki. I tutaj z pomocą przychodzi nam funkcja LTRIM(). Dzięki tej funkcji możemy wyciąć niechciane spacje z początku ciągu (lub inne zdefiniowane przez nas znaki). Zobaczmy jak to wygląda na przykładach.
Zwracany typ: TEXT
PostgreSQL LTRIM() składnia
LTRIM( łańcuch_główny , opcjonalnie_zdefiniowany_zbiór_znaków )
łańcuch_główny – tutaj określamy łańcuch główny z którego będziemy ucinać znaki.
opcjonalnie_zdefiniowany_zbiór_znaków – to opcjonalny parametr gdzie deklarujemy zbiór znaków lub ciąg znaków który chcemy wyciąć od początku głównego łańcucha.
Przykłady zastosowania funkcji LTRIM()
SELECT
LTRIM('Ala ma kota.' , 'lA')
Wynik
a ma kota.
Z lewej strony łańcucha głównego zostały wycięte dwa znaki 'Al'. Zwróć uwagę, że w parametrze zdefiniowaliśmy je w odwrotnej kolejności 'lA'. Widzimy więc, że dla funkcji LTRIM nie ma znaczenia kolejność znaków byleby wszystkie znaki z łańcucha głównego które chcemy wyciąć znalazły się w zdefiniowanych przez nas zbiorze znaków.
No to teraz zróbmy coś takiego.
SELECT
LTRIM( 'Ala ma kota.' , 'la' )
Wynik
Ala ma kota.
Tutaj w wyniku nasz łańcuch główny nie został ruszony, dlaczego? Przecież zdefiniowaliśmy zbiór znaków 'la' więc LTRIM powinien uciąć coś z początku. Nasza funkcja nie ucięła niczego bo dla funkcji LTRIM wielkość znaków ma znaczenie. Masz łańcuch główny zaczyna się znakiem 'A' ale takiego znaku nie ma w zdefiniowanym przez nas zbiorze znaków. Jeżeli już pierwszy znak nie znajduje się w naszym zdefiniowanym zbiorze znaków, dalsze znaki z łańcucha głównego nawet nie są brane pod uwagę.
Kolejny przykład.
SELECT
LTRIM(' Ala ma kota.')
Wynik
Ala ma kota.
Tutaj nie mamy zdefiniowanego zbioru znaków. W argumentach funkcji mamy tylko łańcuch główny. Ale zwróć uwagę, że na początku tego łańcucha znajdują się dwie spacje, które w wyniku zostały wycięte. Tak jak pisałem wcześniej jeżeli nie mamy drugiego argumentu w funkcji LTRIM, jedynie co funkcja sprawdzi i zrobi to czy na początku łańcucha głównego znajdują puste spacje i je usunie, tak jak to się wydarzyło w naszym przykładzie.
Teraz przerobimy bardzo fajny przykład.
SELECT
LTRIM( ' Ala ma kota.' , 'Ala' )
Wynik
Ala ma kota.
Co się stało, przecież w drugim parametrze określiliśmy, że funkcja ma wyciąć ciąg 'Ala' a na początku łańcucha głównego jest słówko 'Ala'. Zwróć jednak uwagę, że na początku łańcucha głównego są dwie spacje, które także są znakami, więc dla funkcji LTRIM łańcuch główny zaczyna się od spacji a nie od znaku 'A', a my w naszym zdefiniowanym zbiorze znaków nie mamy uwzględnionej spacji dlatego funkcja nic nie wycięła.

