2015-03-03 69 views
0

我正在使用MS SQL Server。我有一个专栏'CUSTOMER_NAME'。名字是姓氏,名字格式,有些包括后缀信息,如'Jr'或'II'。我正在使用下面的内容分成两个单独的列,一个用于名字和一个用于姓。我遇到的问题是后缀信息。它分为姓和名两列。示例'Smith Jr,Joe'在first_name中分为'Jr,Joe',在'Last JName'中分为'Smith Jr'。我怎样才能修改这个来纠正first_name输出?如何将'姓氏,名字'格式转换为SQL Server中的名字

SELECT CUSTOMER_NAME, 
     LEFT(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')-1) AS LAST_NAME, 
     SUBSTRING(CUSTOMER_NAME,CHARINDEX(' ',CUSTOMER_NAME + ' ')+1,LEN(CUSTOMER_NAME)) AS FIRST_NAME 
FROM table_name 

回答

0

下面的修改将涵盖两种情况,即有和没有后缀。

SUBSTRING(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')+2,LEN(CUSTOMER_NAME)) AS FIRST_NAME 
+0

Hi @ nation161r如果这个或任何答案已经解决了您的问题,请点击复选标记以考虑[接受它](http://meta.stackexchange.com/q/5234/179419)。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 – WorkSmarter 2015-03-03 00:44:37

+0

非常好,谢谢!问题解决了。 – nation161r 2015-03-03 00:48:24

+0

但您尚未接受该解决方案。 – 2015-03-03 00:49:28

相关问题