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

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

比如在表A中有一个地址字段(字符串类型),那么,如何实现查找地址类似的记录?

比如:

id     |    name      |    address
1      |    tom       |    黄河1路 391号
2      |    jack      |    黄河1路 391号 东
3      |    jerry     |    长江路23号

tom和jack的地址是类似的,查找出tom和jack这两条记录的明细。

数据库环境为oracle


可以使用函数 UTL_MATCH.edit_distance_similarity

select A1.address,A2.address,UTL_MATCH.edit_distance_similarity(A1.address,A2.address) similarity from A A1, A A2 where A1.address is not null and A2.address is not null and similarity >=30;
30只是个相似度值,可以酌情调整,最大100。
配合group by,order by使用更佳。


我们以前都是让用户在地图上标记一下,然后存放的是经纬度,地址是他自己填写的。
然后判断两个地方距离是否是一个地方是计算欧式距离的,不知你们的需求可否考虑这种方式。

【热门文章】
【热门文章】