Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] funkcja REPLACE
Forum PHP.pl > Forum > Bazy danych > MySQL
lechulysy
Witam,
czy da się zrobić coś takiego jak porównanie dwóch stringów w bazie, ale pozbawionych określonych znaków; np.

string_1="Ala ma kota1 & burka2" - jest w bazie w "pole_x"
string_2="A l a_ma_kota1 *&^ bur_ ka2" - jest pobierany ze strony WWW

po "zredukowaniu" obu stringów do znaków [a-Z][0-9] są takie same:

string_1="Alamakota1burka2"
string_2="Alamakota1burka2"

czy taką redukcję da się zrobić w przykładowym zapytaniu:

  1. SELECT id FROM baza WHERE jakas_funkcja_redukująca(pole_x)='zredukowany_string_2'


przy okazji choć nie ten dział: czy w PHP'ie jest jakaś gotowa funkcja poza str_replace(), która potrafi pozbawić string wszystkiego poza [a-Z][0-9]?

Leszek
Crozin
Najprościej będzie tutaj skorzystać z wyrażeń regularnych - są dostępne właściwie właściwie na każdej platformie.

W PHP-ie jest to rodzina funkcji preg_*()
W MySQL jest pod tym względem dosyć ubogo w standardowej konfiguracji (https://dev.mysql.com/doc/refman/5.7/en/regexp.html). Ale przy odrobinie wysiłku da się otrzymać normalne narzędzia https://www.google.pl/webhp?sourceid=chrome...regex%20replace
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.