下面是我试图操纵的数据。我正在尝试在第二个逗号之前获取姓氏和名字
这是我目前拥有的代码:
SELECT
[SDN_Name],
CASE WHEN CHARINDEX(', ', [SDN_Name]) > 0 THEN
LEFT([SDN_Name],(CHARINDEX(', ',[SDN_Name],1)-1))
ELSE
[SDN_Name]
END as LName,
CASE WHEN CHARINDEX(', ', [SDN_Name]) > 0 THEN
SUBSTRING([SDN_Name],CHARINDEX(', ',[SDN_Name])+1, ( LEN([SDN_Name]) - CHARINDEX(', ',[SDN_Name])+1))
ELSE
NULL
END as FName
FROM [Staging].[OFAC].[TP1] 其中([SDN_Type] = '个人')
例如,如果全名是 DELOS REYES, Feliciano, Jr。我希望 DELOS REYES 作为 LName,Feliciano Semborio 作为 Fname,但我不想捕获“, Jr.”。
我能够解析姓氏和第一个逗号的所有内容。如何编写一个 CASEstatment 来捕获没有名称后缀的名字?