读书人

用存储过程实现SQL中某个字段的内容相

发布时间: 2012-01-31 21:28:41 作者: rapoo

用存储过程实现SQL中某个字段的内容相似度 搜索和匹配
大家好:
有一个表,其中有一个 context nvarchar(max) 的字段
表中的数据超过十万条

希望编写一个存储过程,传入连个参数
str1(nvarchar(500)) 和 double sim

存储过程实现在表中搜索 context的内容,如果context的内容和
传入的参数 str1的相似度 达到 大于 第二个参数 sim 就算符合条件
并返回符合条件的全部记录

例如表中字段内容为
1、abcdefghijk
2、abcdefghijk1
3、abcdefg1hijk1
4、abcdefg11hijk

如果传入

abcdefghijk , 90%
那么返回
1、abcdefghijk
2、abcdefghijk1

如果传入
abcdefghijk , 80%
那么将返回
1、abcdefghijk
2、abcdefghijk1
3、abcdefg1hijk1
4、abcdefg11hijk

备注:
abcdefghijk abcdefghijk 相似度:100%
abcdefghijk abcdefghijk1 相似度:10/11约等于91%
abcdefghijk abcdefg1hijk1 相似度:10/12约等于83%
abcdefghijk abcdefg11hijk 相似度:10/12约等于83%



[解决办法]
同位的比较?...

abcdefghijk和abcdefghijk
就是a跟a比.然后 b跟b比?..
[解决办法]

引用楼主 ex3206 的帖子:
大家好:
有一个表,其中有一个 context nvarchar(max) 的字段
表中的数据超过十万条

希望编写一个存储过程,传入连个参数
str1(nvarchar(500)) 和 double sim

存储过程实现在表中搜索 context的内容,如果context的内容和
传入的参数 str1的相似度 达到 大于 第二个参数 sim 就算符合条件
并返回符合条件的全部记录

例如表中字段内容为
1、abcdefghijk
2、abcdefghijk…

读书人网 >SQL Server

热点推荐