首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

用存储过程实现SQL中某个字段的内容相似度 搜索和匹配解决思路

2012-01-31 
用存储过程实现SQL中某个字段的内容相似度 搜索和匹配大家好:有一个表,其中有一个 context nvarchar(max)

用存储过程实现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…

热点排行