PostgreSQL funkcja LTRIM – wycinamy znaki z początku łańcucha głównego

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ówto 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.


postgresqlpostgresql