2016-09-26 65 views
-1

我有一列名字,但名字和中間名都組合在此列中。例如,列名是FirstName幷包含Jim JR。在此列旁邊,我有一個MiddleName列,當前爲空。我想拆分JR。在Jim從FirstName列和MiddleName之後。空格後的分割字段(名)

+1

[T-SQL子 - 分離的姓和名]的可能的複製(http://stackoverflow.com/questions/10921400/t-sql-substring-separating-first-and-last-名稱) – scsimon

+0

請查看[how-to-ask](http://stackoverflow.com/help/how-to-ask) – swe

+1

從設計角度來看,中間名稱列是有問題的。例如,一個女孩可能被命名爲喬安·米歇爾·史密斯,其中「喬安」是她的名字,米歇爾是她的中間名。更甚於文化命名系統,甚至沒有中間名的概念,而是多字的名字,如阿卜杜勒拉赫曼,其中拉赫曼是名中最重要的部分,而不是中間名。如果你的數據庫有一個給定名稱列和一個姓氏列,不要試圖將它轉換爲first/middle/last,你會變得越來越糟糕。 – hatchet

回答

0

如果它們被空格分隔,則可以使用CHARINDEX(' ',FirstName)SUBSTRING()。像:

SUBSTRING(FirstName, 
      CHARINDEX(' ',FirstName), 
      LEN(FirstName)-CHARINDEX(' ',FirstName))