我正在尝试编写一段代码来比较两个varchar列,其中每个列匹配的字符数被加权并分配一个值,稍后我可以使用此值来确定它们是否“模糊”是否匹配。到目前为止,我有一个删除数字和空格的函数,我认为我可以将其作为起点。有没有人有任何指导他们可以推动我或一些建议? 谢谢 布赖恩
答案 0 :(得分:1)
您可以查看SOUNDEX功能。
答案 1 :(得分:1)
取决于数据的类型。 Soundex,Metaphone,Double Metaphone适用于人名。例如,比较街道地址不好,editdistance(Levenshtein距离)可能用于模糊匹配街道地址。
Jaro-Winkler距离和Q-gram是我想到的模糊匹配中使用的其他技术。
这是 editdistance 的实现。如果您想知道它是什么。
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=51540&whichpage=2
答案 2 :(得分:0)
指向与@GilM相同的方向,语音匹配算法,还有另一个选项: Double Metaphone 。它不像SQL SOUNDEX那样内置在SQL Server中,但是找到here a T-SQL version。