如何将“姓氏,名字”格式转换为SQL Server中的名字姓氏

时间:2015-03-03 00:19:20

标签: sql-server parsing substring charindex

我正在使用MS SQL Server。我有一个专栏' CUSTOMER_NAME'。名称采用姓氏,名字格式,其中一些包含后缀信息,例如' Jr'或者' II'。我使用下面的内容分成两个单独的列,一个用于名字,另一个用于姓氏。我遇到的问题是后缀信息。它分为名字和姓氏列。示例' Smith Jr,Joe'分裂为' Jr,Joe'在first_name和' Smith Jr'作为Last_Name。如何修改它以更正first_name输出?

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

1 个答案:

答案 0 :(得分:0)

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

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