首页 > 解决方案 > SQL模糊匹配查询

问题描述

我有一个包含用户信息的uaserData表。它有Id,firstname等等lastname。因此,在该表中,如果我有“如下所示”的两个人,firstname并且 lastname是相同的,那么他们很可能是重复的。(可能是拼写错误)

Id     1
firstname    "kim"
lastname     "kardashian"

Id     2
firstname    "kem"
lastname     "kardshian"

如果我要在所有列上完全匹配,我知道该怎么做,但我需要模糊匹配。有模糊匹配的例子,但很难理解。SOUNDEX 也帮不上什么忙。

标签: sqlsql-servertsqlfuzzy-searchfuzzy-comparison

解决方案


有一堆类似的问题作为示例回答:SQL Fuzzy Matching

这是作为 SOUNDEX 的例子


Declare @t Table (FName varchar(20) ,  LName varchar(20))

insert into @t Values
('kim'    ,'kardashian')
,('kem'     ,'kardashian')
,('klm'     ,'kardashian')

select *
from @t
where SOUNDEX('kam') = SOUNDEX(FName)


在此处输入图像描述


推荐阅读