MySQL выбрать возможный вопрос регулярного выражения - PullRequest
1 голос
/ 02 июня 2019

Я работаю с базой данных MySQL, в которой хранятся метафонные ключи строки (имена людей) в поле VARCHAR, но у меня возникает проблема, когда дело доходит до извлечения людей с несколькими именами.

В качестве примера возьмем ключ метафона для «Мэри Энн», который хранится в базе данных (разделенный пробелами) как «MR AN». Если бы я хотел вытащить все "Мэри" (MR), я мог бы сделать: -

WHERE firstname = 'MR';

Но это также не вытянет "Мэри Энн" (MR AN), что я хочу сделать. Я мог бы попробовать: -

WHERE firstname LIKE '%MR%';

Но есть опасность того, что вы сможете извлечь другие метафонные клавиши с надписью "MR", которые не являются Мэри. Это похожая проблема с короткими именами, такими как «Ли», где клавиша метафона просто «L». Выполнение «LIKE '% L%'» потенциально может вернуть миллионы других имен ...

Итак, мой вопрос, каков наилучший подход к этому? Как вытащить отдельные клавиши метафона, которые находятся в одном поле, разделенные пробелом? Нужно ли для этого какое-то регулярное выражение в выражении select?

...