在oracle 版本中,内置很多相似度函数,我们这里介绍一下SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY函数的用法
在oracle 版本中,内置很多相似度函数,我们这里介绍一下SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY函数的用法
格式为:
Oracle函数:
SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY(str,patternStr)
实例使用方法:
SELECT 测试表.*,SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY('北京一中','北京市一中') 相似度 FROM 测试表
ORDER BY 相似度 DESC
select a.药品名称,b.药品名称,SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY(a.药品名称,b.药品名称)相似度 from
(select distinct 药品名称 from 药品销售表)a,
(select distinct 药品名称 from 药品库存表)b
order by 相似度 desc
可以将以上语句作为子语句,筛选一下相似度大于50的数据
select * from
(select a.药品名称,b.药品名称,SYS.UTL_MATCH.EDIT_DISTANCE_SIMILARITY(a.药品名称,b.药品名称)相似度 from
(select distinct 药品名称 from 药品销售表)a,
(select distinct 药品名称 from 药品库存表)b
order by 相似度 desc)
where 相似度 > 50
