У меня возник вопрос относительно некоторой инструкции SQL. Я ищу имя, e.x. «Энн Мари Паркер». Этот поисковый запрос передаю моему сценарию.Заменить в SQL-запросе
Скрипт использует следующий SQL код:
SELECT * FROM table WHERE name LIKE '%(searchquery)%'
(SearchQuery) будет имя, которое я ищу.
Проблема заключается в следующем. Я не только хочу получить Анну Мари Паркер в результате, я также хочу получить результаты с «Энн Паркер».
Есть ли возможность сделать это в моем sql-запросе? Я мог бы подготовить его по коду, но я хочу, чтобы это было сделано в моем sql-запросе.
Есть ли какая-то функция, например, заменить все пробелы на «%», которые затем будут интерпретироваться регулярным выражением?
Большое спасибо и приятный день!
Bye, WorldSignia
Есть часто функции, такие как `` str_replace` или regexp_replace`, которые могут сделать это, но детали отличаются между производителями, поэтому мы должны знать, что база данных (Oracle, MySQL, PostgreSQL, ...), прежде чем мы сможем ответить точно. Если вы можете, посмотрите в строке «замена строки» в своем руководстве к БД. – FrustratedWithFormsDesigner 2010-11-24 18:02:53
Используете ли вы хранимую процедуру для передачи параметров? – Sudantha 2010-11-24 18:04:03
Почему бы вам не поискать что-то вроде «Энн% Паркер»? Пример: `SELECT * FROM table WHERE name LIKE '% Anne% Parker%'` это возвращает то, что вы хотите – cristian 2010-11-24 18:33:29