我想知道如何從全名與也在考慮在中間,JR在擺脫中間名,先生,女士,和JR的解析出第一個名字,姓氏姓結束。解析出名字,從SQL Server
Jon Doe Jr First: Jon Last: Doe
Jon J Doe First: Jon Last: Doe
Mr Jon Doe First: Jon Last: Doe
謝謝
我想知道如何從全名與也在考慮在中間,JR在擺脫中間名,先生,女士,和JR的解析出第一個名字,姓氏姓結束。解析出名字,從SQL Server
Jon Doe Jr First: Jon Last: Doe
Jon J Doe First: Jon Last: Doe
Mr Jon Doe First: Jon Last: Doe
謝謝
選擇離開(姓名,CHARINDEX( ' '名稱))作爲第一, 子(姓名,CHARINDEX('',名稱)+1,LEN(名稱) - ( CHARINDEX(」」,名字)-1)),如從表名最後 ;
我發現了一個名爲PARSE_NAME_UDF here
我使用此功能,不時在我的數據遷移和整合工作俏皮功能:
這裏是返回兩列名和姓的幾個例子:
SELECT 'First:' = dbo.PARSE_NAME_UDF('Jon Doe Jr', 'F'), 'Last:' = dbo.PARSE_NAME_UDF('Jon Doe Jr', 'L')
UNION ALL SELECT 'First:' = dbo.PARSE_NAME_UDF('Jon J Doe', 'F'), 'Last:' = dbo.PARSE_NAME_UDF('Jon J Doe', 'L')
UNION ALL SELECT 'First:' = dbo.PARSE_NAME_UDF('Jon Doe', 'F'), 'Last:' = dbo.PARSE_NAME_UDF('Jon Doe', 'L')
這裏有更多的例子:
SELECT dbo.PARSE_NAME_UDF('Fred J Muggs Jr', 'F M L S') -- Returns Fred J Muggs Junior
SELECT dbo.PARSE_NAME_UDF('Fred J Muggs Jr', 'F M L s') -- Returns Fred J Muggs Jr
SELECT dbo.PARSE_NAME_UDF('Fred J Muggs Jr', 'f. M. L s') -- Returns F. J. Muggs Jr
你對於什麼是名字做了很多假設。沒有gaurantee一個名稱就是'FIRST MIDDLE LAST'許多姓氏包含多個單詞。據我所知,沒有可靠的算法來將全名可靠地解析成給定/姓氏。 –
CollinD
國際名稱也可以有相反的順序,這會讓您混淆名字和姓氏。非常尷尬。 – arkascha
您現在也擁有正式名字的一部分。你當然不想將它們剝離! – arkascha