yrtimD
Guest
Помогите составить запрос...
Нужно сравнить между собой две строки:
1 - поле (char) из базы данных
2 - строковая переменная $search из скрипта на php
Чтобы при этом из поля char удалялись некоторые символы.
Например $search = "23 ABC", а поле в таблице mySQL = "23 (a.b.c.)"
В данном примере обе строки должны быть равны.
У меня получилось только вот так:
select ucase(concat(REPLACE(REPLACE( REPLACE('23 (a.b.c.)', '.','') ,')',''), '(', ''))) REGEXP '$search'
Но что делать если потребуется заменить не только круглые скобки и точку, но и ряд других символов?
Маразматически прописывать бесконечную последовательность "REPLACE(REPLACE(REPLACE..."???
Нужно сравнить между собой две строки:
1 - поле (char) из базы данных
2 - строковая переменная $search из скрипта на php
Чтобы при этом из поля char удалялись некоторые символы.
Например $search = "23 ABC", а поле в таблице mySQL = "23 (a.b.c.)"
В данном примере обе строки должны быть равны.
У меня получилось только вот так:
select ucase(concat(REPLACE(REPLACE( REPLACE('23 (a.b.c.)', '.','') ,')',''), '(', ''))) REGEXP '$search'
Но что делать если потребуется заменить не только круглые скобки и точку, но и ряд других символов?
Маразматически прописывать бесконечную последовательность "REPLACE(REPLACE(REPLACE..."???

Ну не то что бы "вообще", но "очень редко". Без них всё работает.
содержит множество вариантов написания строки "23 a.b.c." (из первой таблицы наименований), а также варианты других строк, с типичными опечатками и т.п. 