Sql server 2012 使用SELECT将LastName/Suffix/FirstName/MI提取到1NF中
我仍然在琢磨如何使用SELECT提取lastname、firstname和后缀。愚蠢的供应商在1个字段中拥有所有内容,而不是执行1NF。如果有人至少可以帮助提取姓和名(后缀是可选的,但会有帮助),这将是非常有帮助的。以下是一些姓名示例:Sql server 2012 使用SELECT将LastName/Suffix/FirstName/MI提取到1NF中,sql-server-2012,Sql Server 2012,我仍然在琢磨如何使用SELECT提取lastname、firstname和后缀。愚蠢的供应商在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 De
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
即使我至少能得到姓(胡佛)和名(詹姆斯),那也没问题。需要在SELECT语句中完成所有操作。您可以使用
子字符串
和CHARINDEX
函数获取所需内容
代码是这样的
要获得姓氏:
选择子字符串(名称、0、LEN(左(名称、CHARINDEX('、'、名称)))
要获取名字,请执行以下操作:
选择子字符串(名称,LEN(左)(名称,CHARINDEX(',',',名称))+1,LEN(名称))
您可以参考此链接:
关于您在上一节中接受的答案是否解决了您的问题?我发现我需要在SELECT语句中执行所有操作,并且名称的格式不同。因此,我没有继续上一个线程,而是想打开一个新线程,因为另一个解决方案可能会帮助其他人。