【发布时间】:2015-03-18 04:13:16
【问题描述】:
我目前正在解决一个问题。我有一列名称。下面是场景
Anna Smith
Anna.Smith
Anna_Smith
Smith Anna
在上述情况下,我能够确定 Anna Smith、Anna.smith 和 Anna_Smith 是同一个人。但我找不到任何可以帮助我说史密斯安娜与安娜史密斯相同的逻辑。
目前使用 MS-SQl 下面是逻辑
select name, isnull(lower(dbo.RemoveSpecialChars(substring(name, 0, charindex('@',name)))),dbo.RemoveSpecialChars(name)) nospacename
into #sheet32
from [dbo].['Sheet3 (2)$']
我正在删除所有类似的字符
"."、";"、"
出现在名称中并将它们连接为一个名称 因此 Anna Smith、Anna.Smith、Anna_Smith 都将转换为 AnnaSmith。 RemoveSpecialChars - 是一个用户定义的函数
有什么方法可以让我知道 Anna Smith 和 Smith Anna 是同一个名字吗?目前正在研究 MS-SQL。 Excel、C# 和 VBA 给出的解决方案也很好。
谢谢, 幸
【问题讨论】:
-
我想您可以拆分单词,如果单词相同,则无论顺序如何,都可以将名称命名为相同。但这有多大意义?有些名字可以是名字也可以是姓氏;并且
George Alexander可能与Alexander George不同
标签: c# sql-server excel vba