mysql подстановочные знаки с обеих сторон оператора like

ОК, это может быть глупый вопрос.

Я делаю некоторые сопоставления строк... специально нормализованные сопоставления данных пациента. Поэтому мне нужно базы данных пациентов и хочу сопоставить строку из одного в другой. Но я нормализовал строки с обеих сторон.

Например, я делаю все строчными, вычеркиваю буквенно-цифровые символы, обрезаю имена до первых 3 символов, и для любых строк имен, не имеющих 3 символов, я заполняю их символом "_", чтобы он действовал как подстановочный знак.

Вот пример имени и нормализованного имени с DOB:

DB1: John A Smith 4/27/2011     -->   joha__smi04272011
DB2: John Smith 4/27/2011       -->   joh___smi04272011

так что теперь я использую как:

select 'joha__smi04272011' like 'joh___smi04272011';

правда

but select 'joh___smi04272011' like 'joha__smi04272011';

ложно

Я хочу сделать оба сравнения на одном БД, получая True, если либо True.

Конечно, это будет означать, что подчеркивание будет подстановочным знаком с обеих сторон. Я рассмотрел или, и это делает это, но я не могу использовать это для запроса базы данных, или, если я могу, я не могу обернуть голову вокруг этого на практике...

это делает то, что я ищу? Мне просто кажется странным

Я ищу местное удостоверение личности в drdata и итерации и отправка запросов из другой базы данных

select localid from drdata where microid like 'joh___smi04272011' or 'joh___smi04272011' like microid;

Это кажется слишком сумасшедшим, чтобы быть правильным способом сделать это. Недостатки? Reommendations? Я запустил запрос, и он, кажется, соответствует двунаправленному с использованием подстановочных знаков по обе стороны от "как"

Благодарю.

0 ответов

Другие вопросы по тегам