Я работаю с базой данных MySQL, в которой хранятся метафонные ключи строки (имена людей) в поле VARCHAR, но у меня возникает проблема, когда дело доходит до извлечения людей с несколькими именами.
В качестве примера возьмем ключ метафона для «Мэри Энн», который хранится в базе данных (разделенный пробелами) как «MR AN».
Если бы я хотел вытащить все "Мэри" (MR), я мог бы сделать: -
WHERE firstname = 'MR';
Но это также не вытянет "Мэри Энн" (MR AN), что я хочу сделать. Я мог бы попробовать: -
WHERE firstname LIKE '%MR%';
Но есть опасность того, что вы сможете извлечь другие метафонные клавиши с надписью "MR", которые не являются Мэри. Это похожая проблема с короткими именами, такими как «Ли», где клавиша метафона просто «L». Выполнение «LIKE '% L%'» потенциально может вернуть миллионы других имен ...
Итак, мой вопрос, каков наилучший подход к этому? Как вытащить отдельные клавиши метафона, которые находятся в одном поле, разделенные пробелом? Нужно ли для этого какое-то регулярное выражение в выражении select?