我正在使用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
答案 0 :(得分:0)
以下修改将涵盖两种情况,即有和没有后缀。
SUBSTRING(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')+2,LEN(CUSTOMER_NAME)) AS FIRST_NAME