SQL Server difference函数的近似值操作(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-02 17:50 点击:
 
declare @item1 nvarchar(20)='对比'
declare @item2 nvarchar(20)='比对'
 
create table #tblTemp(item nvarchar(20))
insert into #tblTemp select @item2
 
select * from #tblTemp    --显示临时表数据
select * from #tblTemp where item like '+'+@item1+'+'
drop table #tblTemp        --注:临时表删除
 
执行上述代码,返回结果为:


很明显,查找结果为空。
 
 
但是如果我们使用difference关键字,结果可能就不一样了,执行一下代码:
 
declare @item1 nvarchar(20)='对比'
declare @item2 nvarchar(20)='比对'
select SOUNDEX(@item1) item1,SOUNDEX(@item2) item2,DIFFERENCE(@item1,@item2) result
 
返回结果为:
上面我们说过,返回值为4,表明进行比较的两个字符串完全一样,我们仔细看一下他们的SOUNDEX值就可以了,都是0000,这样的话,类似上述情况的数据我们就可以检索出来,这种功能有时候是非常有用的。
 
 
关于diffrence函数的实际应用情况,我还在摸索当中,记得以前看过一本书(仅仅是看过书名,连翻都没翻过)叫《自己动手写搜索引擎》,是不是用的搜索算法也跟这个有点类似呢,google什么算法不知道,好像baidu是买的香港某大学的一个搜索算法,总之功能是匹配用户输入的数据并做相似度匹配,所以我的标题中有一部分叫:搜索引擎算法的胡乱猜测,呵呵,如果你有更好的见解,不妨告诉我啊,另外,大虾们看到之后请轻喷哈。
 
 
 
作者 Lison Liou
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行

数据库技术导航

SqlserverMysqlOracleDB2数据库数据库综合
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1