0

MS SQL Server を使用しています。「CUSTOMER_NAME」という列があります。名前は姓、名の形式で、「Jr」や「II」などの接尾辞情報を含むも​​のもあります。以下を使用して、2 つの別々の列に分割しました。1 つは名用、もう 1 つは姓用です。私が遭遇する問題は、サフィックス情報にあります。名と姓の両方の列に分割されます。例 '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
4

1 に答える 1

0

以下の変更は、両方のシナリオ、つまりサフィックスありとなしの両方をカバーします。

   SUBSTRING(CUSTOMER_NAME,CHARINDEX(', ',CUSTOMER_NAME + ' ')+2,LEN(CUSTOMER_NAME)) AS FIRST_NAME
于 2015-03-03T00:41:09.567 に答える