Funkcja MySQL REPLACE String

Podsumowanie: W tym tutorialu pokażemy jak używać funkcji MySQL REPLACE String do zamiany podłańcucha na inny w łańcuchu znaków.

Wprowadzenie do funkcji łańcuchowej MySQL REPLACE

MySQL udostępnia użyteczną funkcję łańcuchową o nazwie REPLACE, która pozwala na zastąpienie łańcucha w kolumnie tabeli nowym łańcuchem.

Składnia funkcji REPLACE jest następująca:

REPLACE(str,old_string,new_string);
Code language: SQL (Structured Query Language) (sql)

Funkcja REPLACE ma trzy parametry. Zastępuje ona old_string przez new_string w string

Zauważ, że istnieje oświadczenie zwane również REPLACE używane do wstawiania lub aktualizowania danych. Nie należy mylić instrukcji REPLACE z funkcją REPLACE string.

Funkcja REPLACE jest bardzo przydatna do wyszukiwania i zastępowania tekstu w tabeli, np. aktualizowania nieaktualnych adresów URL, poprawiania błędów ortograficznych itp.

Składnia użycia funkcji REPLACE w instrukcji UPDATE jest następująca:

UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Code language: SQL (Structured Query Language) (sql)

Zauważ, że podczas wyszukiwania tekstu do zastąpienia, MySQL używa dopasowania uwzględniającego wielkość liter, aby wykonać wyszukiwanie łańcucha do zastąpienia.

Przykład funkcji MySQL REPLACE string

Na przykład, jeśli chcesz poprawić błąd w pisowni w tabeli products w przykładowej bazie danych, używasz funkcji REPLACE w następujący sposób:

UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
Code language: SQL (Structured Query Language) (sql)

Kwerenda wyszukuje wszystkie wystąpienia błędu ortograficznego abuot i zastępuje go poprawnym słowem about w kolumnie productDescription w tabeli products.

Bardzo ważne jest zwrócenie uwagi na to, że w funkcji REPLACE pierwszym parametrem jest nazwa kolumny bez cudzysłowów („). Jeśli umieścisz cudzysłów do nazwy pola, jak „field_name”, zapytanie zaktualizuje zawartość tej kolumny do „field_name”, co powoduje nieoczekiwaną utratę danych.

Funkcja REPLACE nie obsługuje wyrażeń regularnych, więc jeśli potrzebujesz zastąpić ciąg tekstowy wzorcem, musisz użyć funkcji zdefiniowanych przez użytkownika MySQL (UDF) z zewnętrznej biblioteki, sprawdź tutaj MySQL UDF z Regex

  • Czy ten poradnik był pomocny?
  • TakNie

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *