为了账号安全,请及时绑定邮箱和手机立即绑定

数据库中比较两个字符串相似?

数据库中比较两个字符串相似?

侃侃无极 2019-04-16 20:27:38
比如在表A中有一个地址字段(字符串类型),那么,如何实现查找地址类似的记录?比如:id|name|address1|tom|黄河1路391号2|jack|黄河1路391号东3|jerry|长江路23号tom和jack的地址是类似的,查找出tom和jack这两条记录的明细。数据库环境为oracle
查看完整描述

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

我们以前都是让用户在地图上标记一下,然后存放的是经纬度,地址是他自己填写的。
然后判断两个地方距离是否是一个地方是计算欧式距离的,不知你们的需求可否考虑这种方式。
                            
查看完整回答
反对 回复 2019-04-16
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

可以使用函数UTL_MATCH.edit_distance_similarity
selectA1.address,A2.address,UTL_MATCH.edit_distance_similarity(A1.address,A2.address)similarityfromAA1,AA2whereA1.addressisnotnullandA2.addressisnotnullandsimilarity>=30;
30只是个相似度值,可以酌情调整,最大100。
配合groupby,orderby使用更佳。
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 647 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信