自定义的sql相似性函数

该博客展示了如何在SQL中使用自定义函数来计算医院名称的相似度,并通过示例展示了不同医院名称之间的相似度得分,揭示了函数的实用性和准确性。
摘要由CSDN通过智能技术生成

Create FUNCTION xiangsi
(
    @str1 varchar(2500),@str2 varchar(2500)
)
RETURNS int
AS
BEGIN
declare @i int,@c int,@i1 int,@c1 int
select @c=len(@str1),@c1=len(@str2),@i=1,@i1=1
declare @temp table(zf varchar(2),wz int)
declare @temp1 table(zf varchar(2),wz int)
while @i<=@c
begin
    insert into @temp select substring(@str1,@i,1),@i
    set @i=@i+1
end;
while @i1<=@c1
begin
    insert into @temp1 select substring(@str2,@i1,1),@i1
    set @i1=@i1+1
end;

return 100*
(
    2*(
        select count(*) from @temp
        where zf in
        (
            select zf from @temp1
        )
    )
    +
    2*(
        select count(*) from @temp1
        where zf in
        (
            select zf from @temp
        )
    )
    +
    (--同样字符不同位置要有一定影响
        select count(*) from @temp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值