sql 中的模糊匹配

fuzzy matching in sql

给定两个 table 客户信息。一个是销售数据,另一个是丰富映射。 table 中都存在客户姓名字段,也是居住国家/地区和居住城市。后两个是干净的数据。

不幸的是,客户端名称很接近,但有时会略有不同。 (例如:维也纳大学 vs 维也纳科技大学)。

我的目标是加入 tables,并使用丰富映射 table 信息丰富销售 table。

因此我想在 mssql 中设置一个模糊匹配,其中我想用于连接的两列不一定是 100% 匹配。 从技术上讲,我知道这个主题可以用模糊连接包在 R 中涵盖,但我真的更愿意将它保留在 mssql 中。

请问有什么办法吗?

有很多方法可以做到这一点。一种可能会让您接近的方法是内置的 SOUNDEX 函数。如果这不起作用,您可以尝试类似的方法:姓氏的前四个字母 + 姓氏的前两个字母。

对此没有简单的答案,一些可用的算法可能需要开发 CLR 函数。这个 question 中有很好的讨论,它是答案。