超越 SOUNDEX & 差异 - SQL 服务器

Beyond SOUNDEX & DIFFERENCE - SQL Server

我正在使用 SOUNDEXDIFFERENCE 函数对 table 中存在的数据进行一些分析。

但是这个函数在以下类型的数据上失败了。 ITEM TYPEITEM SIZE 是完全不同的。

SELECT SOUNDEX('ITEM TYPE'), SOUNDEX('ITEM SIZE')

op:-

I350    I350

For DIFFERENCE op: - 4

我理解人类思维无法编码的每一种分析,但我还是想问一下,SQL Server中是否还有其他功能可以帮助我进行下一级分析?

您可以使用算法,例如Damerau–Levenshtein distance

The Damerau–Levenshtein distance between two words is the minimum number of operations (consisting of insertions, deletions or substitutions of a single character, or transposition of two adjacent characters) required to change one word into the other.

有T-SQL个实现,比如this one by Steve Hatchett。 或者,您可以使用 an implementation in C#,编译一个 DLL 并将其加载到 SQL CLR。编译版本应该会更快。

有关将 CLR 程序集加载到 SQL @ CLR Assembly C# inside SQL Server.

的更多信息