다음은 조작하려는 데이터입니다. [준비]에서전체 이름 열에서 성과 이름을 파싱합니다.
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
[OFAC] [TP1을 : 나는 두 번째 쉼표
이 전에 성과 이름을 얻기 위해 내가 현재 가지고있는 코드입니다 노력하고 있어요.. ] 경우 전체 이름이 DELOS REYES, 펠리, 주니어 경우 ([SDN_Type] = '개인')
는 예를 들어, 내가 원하는 DELOS REYES FNAM로 LNAME 및 펠리 Semborio로 e 그러나 나는 "Jr."를 붙잡고 싶지 않습니다.
성 및 첫 번째 쉼표의 모든 부분을 구문 분석 할 수 있습니다. 이름의 접미사없이 이름을 캡처하는 CASE 문을 어떻게 작성합니까?
당신이 얻고있는 결과뿐만 아니라 * 원하는 * 결과를 보여줄 수 있습니까? * (현재 사용하고있는 솔루션이 원하는대로 동작하지 않는 것은 어떨까요?) * – MatBailie
마지막 사진은 내가 얻은 결과입니다. reselt 세트 내가 is..for 예를 원하는 : SDN_Name ABDELNUR을 Nury 예수 LNAME ABDELNUR 드 FNAME Nury 내가 LNAME 나에게 단지 첫 번째 이름을 얻을 수 없습니다, 난 몰라 Fname 열의 공백 뒤에 아무 것도 입력하지 마십시오. – user1169520
업데이트했습니다. – user1169520