Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zamiana ciągu znaków z X na Y
Forum PHP.pl > Forum > Bazy danych > MySQL
Vorel
Witam, mam tabele o nazwie XX, a w niej m.in. kolumnę o nazwie tresc.
W kolumnie tresc mam różnego rodzaju tekst i teraz chciałbym zmienić wszystko co jest pomiędzy Nazwa, a Nazwa2.
Przykładowo wartość w kolumnie tresc wygląda następująco:

Nazwa teksttekst Nazwa2
NazwaTES.T33 Nazwa2
Nazwacc//XxNazwa2

I teraz chciałbym ten ciąg znaków, znajdujący się pomiędzy "nazwami" zmienić na np. tub[ylt]ekst.
Próbowałem zapytaniem replace, ale nie do końca udaje mi się je wykorzystać, albowiem działa tylko przy jednym określonym schemacie.

Mógłby mi ktoś poradzić jak zastosować replace, albo jakieś inne polecenie dzięki któremu mógłbym zmieniać ten ciąg znaków znajdujący się pomiędzy "nazwami"?
Będę bardzo wdzięczny, z góry dziękuje.
mar1aczi
Troszkę leciwe, ale może Ci wystarczy: https://github.com/hholzgra/mysql-udf-regexp
Vorel
Dzięki za odpowiedź, jednakże coś mi nie wychodzi.
Wymóżdżyłem coś takiego.
  1. SELECT * FROM `XX` WHERE regexp_replace(tresc, 'Nazwa*Nazwa2', 'tub[ylt]ekst');


Po wykonaniu otrzymuję błąd:
#1305 - FUNCTION sz2.regexp_replace does not exist.

Ma ktoś jakiś pomysł co zrobiłem nie tak?
Pyton_000
A zainstalowałes plugin do MySQL ?
Vorel
Tak, jest wgrany.
Pyton_000
serwer mysql zrestartowany>
Vorel
Tak i to samo.
Mam pytanie, czy sama składani zapytania jest poprawna? Może to w niej leży wina.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.