mysql通配符like运算符的两侧
好吧,这可能是个愚蠢的问题 我正在做一些字符串匹配。。。专门规范化的患者数据匹配。因此,我必须访问患者数据库,并希望将字符串从一个匹配到另一个。但两边都有标准化的字符串 举个例子,我把所有东西都改成小写,去掉字母数字,把名字改成前3个字符,对于没有3个字符的名字字符串,我用“u”作为通配符 下面是一个示例名称和带有DOB的规范化名称:mysql通配符like运算符的两侧,mysql,wildcard,bidirectional,Mysql,Wildcard,Bidirectional,好吧,这可能是个愚蠢的问题 我正在做一些字符串匹配。。。专门规范化的患者数据匹配。因此,我必须访问患者数据库,并希望将字符串从一个匹配到另一个。但两边都有标准化的字符串 举个例子,我把所有东西都改成小写,去掉字母数字,把名字改成前3个字符,对于没有3个字符的名字字符串,我用“u”作为通配符 下面是一个示例名称和带有DOB的规范化名称: DB1: John A Smith 4/27/2011 --> joha__smi04272011 DB2: John Smith 4/27/2
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上进行这两个比较,如果其中一个是真的,就会得到真的
当然,这意味着下划线在类的两边都是通配符。我考虑了一个or,但我不能用它来查询数据库,或者如果我可以的话,我也不能在实践中用我的头脑去思考它
这符合我的要求吗?我只是觉得很奇怪:
我正在drdata
中查找本地ID,并在另一个数据库中进行迭代和发送查询
select localid from drdata where microid like 'joh___smi04272011' or 'joh___smi04272011' like microid;
这样做似乎太疯狂了。缺点?重新推荐?我已经运行了这个查询,它似乎在“like”的两侧使用通配符进行双向匹配
谢谢。所以我想问题是关于字符串匹配的下划线?是的。。。我想双向使用通配符。我将在几分钟后再次运行它,使用倒立的like和or组合。我正在努力提高比赛的敏感性。我不确定这是否可行。我认为,最好替换下划线以匹配字符串,如replace(Col1,'.',''),替换下划线不起作用。看看上面的例子。。。如果中间的首字母或名称不匹配,则需要单字符通配符占位符。顺便说一句,我做了那种奇怪的双向运动,效果非常好。将我的敏感度从92.6%提高到96.6%。所以我猜问题是关于字符串匹配的下划线?是的。。。我想双向使用通配符。我将在几分钟后再次运行它,使用倒立的like和or组合。我正在努力提高比赛的敏感性。我不确定这是否可行。我认为,最好替换下划线以匹配字符串,如replace(Col1,'.',''),替换下划线不起作用。看看上面的例子。。。如果中间的首字母或名称不匹配,则需要单字符通配符占位符。顺便说一句,我做了那种奇怪的双向运动,效果非常好。将我的敏感度从92.6%提高到96.6%。