我正在使用SOUNDEX
& DIFFERENCE
用于对表中的数据进行一些分析。
但是这个功能在以下类型的数据中失败了。 ITEM TYPE
& ITEM SIZE
完全不同。
SELECT SOUNDEX('ITEM TYPE'), SOUNDEX('ITEM SIZE')
op:-
I350 I350
For DIFFERENCE op: - 4
我理解人类思维所做的每一个分析都无法编码,我仍然想问一下,SQL Server
中是否还有其他函数可以帮助我进行下一级分析?
答案 0 :(得分:2)
您可以使用算法,例如Damerau–Levenshtein distance。
两个单词之间的Damerau-Levenshtein距离是最小的 操作次数(包括插入,删除或删除) 单个字符的替换,或两个相邻的转置 字符)需要将一个单词改为另一个单词。
有T-SQL实现,例如this one by Steve Hatchett。 或者,您可以使用an implementation in C#,编译DLL并将其加载到SQL CLR中。编译版本应该更快。
有关将CLR程序集加载到SQL @ CLR Assembly C# inside SQL Server。
的更多信息