如何处理变更公司名称

时间:2012-09-25 16:20:40

标签: comparison

我有一张包含公司名称列表的大表,需要一种统一公司名称的方法,例如

  • 麦当劳餐厅=麦当劳
  • 麦当劳快餐=麦当劳
  • McDonalds Food 1234 = McDonalds
  • 麦当劳=麦当劳
  • McDnld = McDonalds
  • 麦当劳农场不等于麦当劳
  • Microsoft - >微软
  • Bare Essentials - > Bare Escentuals
  • Polycom,Inc。 - > Polycom的

在没有单独写出每条规则的情况下,有没有这样做?或者至少在一个公司名称属于某个公司的可能性上产生某种百分比?

3 个答案:

答案 0 :(得分:2)

尝试:

SELECT FROM `company` WHERE `name` LIKE
    "%McDonalds%Food%" or "%McDonalds%Restaurant%"

您需要单独处理每个案例,因为您明确地从结果集中排除了%Farm

答案 1 :(得分:2)

如果你的不相等会更短,你可以为每一个做一个NOT LIKE规则。否则,SQL无法通过另一种方式告诉对方。我要做的是创建一个全局公司表,它将保存基本名称并绑定到具有基本商店ID的子表。

答案 2 :(得分:1)

简短的回答是......不,至少不是在SQL中。

这种名称的启发式匹配已经成为很多research的主题。

许多SQL实现都有Soundex函数,但这对于传统的盎格鲁 - 撒克逊名称(一个世纪以前广泛使用)来说效果很好(对某些“井”的定义)。有关Soundex的一些问题,请参阅http://www.immagic.com/eLibrary/ARCHIVES/GENERAL/LAS_US/L030206B.pdf