我有一张包含公司名称列表的大表,需要一种统一公司名称的方法,例如
在没有单独写出每条规则的情况下,有没有这样做?或者至少在一个公司名称属于某个公司的可能性上产生某种百分比?
答案 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。