您好,我需要提取姓氏,母親姓氏和名稱以及其主要由拉丁名字組成的名稱和名稱,所以大多數人都有2個名字+,我找到了一種方法使用下面的代碼。 我的問題是如果有更好的方法來做到這一點?從表格中提取姓氏,姓氏和姓氏
Declare @t table ([Name] varchar(100))
insert into @t (Name)
VALUES ('Gomez Flores Roberto'), ('DELGADO PEREZ MARIA TERESA'), ('MARTINEZ VELASCO MARTIN AGUSTIN DOMINGO'), ('BURGOS JIMENEZ ERNESTO')
SELECT
substring(name,0,charindex(' ',name)) as LasName
,substring(substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name))),0,charindex(' ',substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name))))) MiddleName
,substring(substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name))), charindex(' ',substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name))))+1,(len(substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name))))- charindex(' ',substring(name, charindex(' ',name)+1,(len(name)- charindex(' ',name)))))) as Name
FROM @t
感謝您對您的時間和幫助
最好的辦法是存儲在單獨的列中的值 - 名字,姓氏等 – TGH 2014-10-29 01:20:43
沒有更好的方式來做到這一點,因爲你將有違反各種異常的你現有的規則。 「Dennis de la Mosely-Williams」和「Oscar van der Nutz III」,就是這樣。正是出於這個原因,數據清理工具非常昂貴。 – 2014-10-29 02:58:04
@AaronBertrand感謝你在完成這件事之後正在處理那些問題。 – lGansito 2014-10-29 19:59:45