使用SELECT将LastName / Suffix / FirstName / MI提取到1NF

时间:2015-09-03 23:54:27

标签: sql-server-2012

我仍然只关注如何使用SELECT提取lastname,firstname,suffix。愚蠢的供应商拥有1个领域的所有东西,而不是1NF。如果有人至少可以帮助提取姓氏和名字(后缀是可选的但会有帮助),这将非常有帮助。下面是一些名称示例:

Currently names in database
Name
1) Hoover,James
2) Hoover JR,James
3) Hoover,James B
4) Hoover JR,James B
5) Hoover II,James B

Desired result
       LastName     FirstName   Suffix
    1) Hoover       James
    2) Hoover       James       JR
    3) Hoover       James
    4) Hoover       James       JR
    5) Hoover II    James

即使我能得到至少LastName(Hoover)和FirstName(James)也没关系。需要在SELECT语句中完成所有操作。

1 个答案:

答案 0 :(得分:0)

您可以使用SUBSTRINGCHARINDEX功能获得所需内容。

代码是这样的。

获取姓氏: SELECT SUBSTRING(Name,0,LEN(LEFT(Name,CHARINDEX(',', Name))))

获取名字: SELECT SUBSTRING(Name, LEN(LEFT(Name,CHARINDEX(',', Name))) + 1, LEN(Name))

您可以参考此链接: Get everything after and before certain character in SQL Server

此致