У меня сложная ситуация.
Текущее поле имени, которое я пытаюсь разобрать, находится в этой форме:
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
Я не могу понять логику, чтобы получить пробел, которыйприходит после запятой в каждом ряду ..
Любая помощь приветствуется.
Спасибо