如何在 SQL 服务器中将 'last name, first name' 格式转换为名字姓氏
How to convert 'last name, first name' format to First Name Last Name in SQL Server
我正在使用 MS SQL 服务器。我有一个专栏,'CUSTOMER_NAME'。名称采用姓氏、名字格式,有些包含后缀信息,例如 'Jr' 或 'II'。我正在使用下面的内容分成两个单独的列,一个用于名字,一个用于姓氏。我 运行 遇到的问题是后缀信息。它分为名字和姓氏列。示例 'Smith Jr, Joe' 在 first_name 中拆分为 'Jr, Joe',在 Last_Name 中拆分为 'Smith Jr'。我如何修改它以更正 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
下面的修改将涵盖两种情况,即有和没有后缀。
SUBSTRING(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')+2,LEN(CUSTOMER_NAME)) AS FIRST_NAME
我正在使用 MS SQL 服务器。我有一个专栏,'CUSTOMER_NAME'。名称采用姓氏、名字格式,有些包含后缀信息,例如 'Jr' 或 'II'。我正在使用下面的内容分成两个单独的列,一个用于名字,一个用于姓氏。我 运行 遇到的问题是后缀信息。它分为名字和姓氏列。示例 'Smith Jr, Joe' 在 first_name 中拆分为 'Jr, Joe',在 Last_Name 中拆分为 'Smith Jr'。我如何修改它以更正 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
下面的修改将涵盖两种情况,即有和没有后缀。
SUBSTRING(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')+2,LEN(CUSTOMER_NAME)) AS FIRST_NAME