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
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>