SQL REGEXP_REPLACE

Sql Regexp Replace



Dane tekstowe lub ciągi znaków, jak nazywają je programiści, są głównym elementem składowym każdego programu funkcjonalnego. Nie inaczej jest w przypadku przechowywania danych. Prawie wszystkie bazy danych zawierają jakąś formę informacji tekstowych, takich jak nazwy, dzienniki itp.

W związku z tym manipulacja ciągami jest częstym zadaniem polegającym na manipulowaniu i przekształcaniu wartości ciągów do określonego formatu.

Jedną z najpotężniejszych funkcji SQL, która zajmuje się operacjami na łańcuchach, jest funkcja REGEXP_REPLACE(). Ta funkcja pozwala nam na wyszukiwanie i zamianę w oparciu o wyrażenia regularne. Jeśli znasz wyrażenia regularne, wiesz, jak potężna może być ta funkcja.







W tym samouczku dowiemy się, jak możemy wykorzystać tę funkcję do wyszukiwania i zamiany ciągów w bazie danych SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() to funkcja, która pozwala nam wykonać dopasowywanie i zastępowanie wzorców w oparciu o wyrażenia regularne w obrębie danego ciągu.



Wyrażenie regularne lub wyrażenie regularne to ustawiony wzorzec i elementy zastępcze, które pozwalają nam dopasowywać ciągi lub podciągi zgodne z określonym wzorcem i manipulować nimi.





Warto pamiętać, że każdy silnik bazy danych może w niewielkim stopniu implementować składnię i funkcjonalność funkcji.

Możemy jednak wyrazić jego składnię w następujący sposób:



REGEXP_REPLACE(ciąg_wejściowy, wzór, zamiana [, flagi])

Parametry funkcji wyrażają się w następujący sposób:

  1. input_string – Określa ciąg, w którym chcemy wyszukiwać i zamieniać.
  2. Wzorzec – określa wzorzec wyrażenia regularnego, który chcemy dopasować w ciągu wejściowym.
  3. Zastąpienie — określa ciąg, który zastąpi dopasowane podciągi.
  4. Flagi – jest to zestaw opcjonalnych flag, które mogą pomóc w modyfikacji funkcjonalności wyrażenia regularnego. Na przykład możemy włączyć wyszukiwanie globalne, dopasowywanie bez uwzględniania wielkości liter itp. Ta funkcja różni się w zależności od silnika bazy danych.

Przykłady:

Aby lepiej zrozumieć działanie tej funkcji, spójrzmy na kilka przykładów, jak z niej korzystać.

Przykład 1: Podstawowe użycie

Załóżmy, że mamy tabelę zawierającą informacje o pracownikach, jak pokazano w poniższym przykładowym wyniku:

Rozważmy przypadek, w którym chcemy zamienić wystąpienie ciągu „Charlie” na „Matthew”. Zapytania możemy użyć w następujący sposób:

WYBIERAĆ

REGEXP_REPLACE(imię, 'Charlie', 'Mateusz') AS nowa_imie

Z

pracownicy;

Podany przykład ilustruje podstawowe wyszukiwanie i zamianę w celu znalezienia ciągu „Charlie” z kolumny „imię” i zastąpienie go ciągiem „Mateusz”.

Wyjście:

Przykład 2: Wymiana bez uwzględniania wielkości liter

W niektórych przypadkach możesz chcieć przeprowadzić wyszukiwanie bez uwzględniania wielkości liter. Oznacza to, że funkcja będzie sprawdzać tylko zawartość ciągu, a nie rzeczywistą wielkość liter alfanumerycznych.

W takim przypadku używamy „i” jako flagi funkcji w następujący sposób:

WYBIERZ REGEXP_REPLACE(opis_produktu, Samsung, Apple, 'i') JAKO zmodyfikowane

Z produktów;

Ustawiając flagę na „i”, funkcja dopasowuje wszystkie słowa pasujące do „Samsung”, niezależnie od wielkości liter.

Wniosek

W tym przykładzie omówiliśmy, jak używać funkcji REGEXP_REPLACE() i pracować z nią w celu przeprowadzenia wyszukiwania i zamiany w oparciu o wzorce wyrażeń regularnych.