Попытка разобрать полное имя в два столбца в SQL - PullRequest
0 голосов
/ 16 ноября 2018

У меня сложная ситуация.

Текущее поле имени, которое я пытаюсь разобрать, находится в этой форме:

Last, First MI

Дляпример:

Doe, John M 
Solis Olvera, Miguel P
Del Cid Donis, Emily D

Мне нужно разобрать это по фамилии и имени, а MI пропустить.

Как мне этого добиться?Я использовал комбинацию charindex и подстроки, но не смог достичь желаемого разрешения.

Моя текущая логика состоит в том, чтобы получить все слева от запятой для фамилии и справа от запятой, но перед первымпробел для имени.Я не уверен, как добиться последнего ..

Это то, что я пробовал до сих пор:

select [patient name]
      ,left([patient name],charindex(',',[patient name])-1)
      ,substring([patient name],charindex(',',[patient name])+2,
        (CHARINDEX(' ',[patient name],CHARINDEX(' ',[patient name]) + 1)) - 
        (charindex(' ',[patient name])+1))  
    from Riskpool.dbo.RP_MasterFile a

Я не могу понять логику, чтобы получить пробел, которыйприходит после запятой в каждом ряду ..

Любая помощь приветствуется.

Спасибо

...