Archiwa tagu: overlay

PostgreSQL funkcja OVERLAY() – zamiana ciągów znaków

Ciekawą funkcją w PostgreSQL jest funkcja OVERLAY() dzięki której możemy podmienić jeden ciąg znaków na drugi.
Zwracany typ: TEXT

PostgreSQL OVERLAY() składnia

OVERLAY([łańcuch_główny] placing [łańcuch_do_podmiany] from [pozycja_od_której_zaczynamy_nadpisywanie] for [ile_znaków_nadpisujemy])

Przykład zastosowania funkcji OVERLAY()
Zamień w zdaniu 'Ala ma kota.' słowo 'kota' na 'psa'.

SELECT
    OVERLAY('Ala ma kota.' placing 'psa' from 8 for 4)

Wynik

Ala ma psa.

Zwóć uwagę, że zastąpiliśmy ciąg znaków składający się z czterech znaków, ciągiem znaków składającym się z trzech znaków. Funkcja działa jakby dwu etapowo. Pierwszy etap to wycięcie z łańcucha głównego wycinka który chcemy zastąpić, a drugi etap to wstawienie w to miejsce ciągu który chcemy do łańcucha głównego wstawić.

W pierwszym przykładzie w miejsce dłuższego wycinka wstawiliśmy krótszy ciąg. Spróbujmy teraz odwrotnie. Zamieńmy teraz słowo 'psa' na 'kota'.

SELECT
    OVERLAY('Ala ma psa.' placing 'kota' from 8 for 3)

Wynik

Ala ma kota.

Myślę, że już wszystko jasne.


postgresqlpostgresql