mysql通配符两边都是like运算符

时间:2016-08-01 02:45:03

标签: mysql wildcard bidirectional

好的,这可能是一个愚蠢的问题。

我正在进行一些字符串匹配...特别是规范化的患者数据匹配。所以我必须耐心地使用数据库,并希望将一个字符串从一个匹配到另一个。但我在两边都规范了字符串。

作为一个例子,我将所有内容都设为小写,删除字母数字,将名称修剪为前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';

是假的

我想在一个Db上做两个比较,如果两个都是真的那么产生True。

当然,这意味着下划线将是两侧的通配符。我考虑过或者这样做但是我不能用它来查询数据库,或者如果可以的话,我不能在实践中把它包围起来......

这样做我正在寻找什么?我只是看起来很奇怪:

我正在寻找drdata中的本地ID并迭代并从其他数据库发送查询

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

做正确的方法似乎太疯狂了。缺点? Reommendations?我已经运行了查询,它似乎在'like'

的两侧使用通配符进行双向匹配

感谢。

0 个答案:

没有答案