I have scenario like
Kumar, Anand
S,Anand D
D,Ravi,K
Now, I have to extract, first name, middle name and last name from above scenario in SQL Server using one query. Since, to get middle name from the full name was hard and same as first name, so I tried
select
CASE
WHEN CHARINDEX(' ', REVERSE('D,Ravi,K')) = 0
THEN RIGHT('D,Ravi,K', CHARINDEX(',', REVERSE('D,Ravi,K')) - 1)
WHEN CHARINDEX(' ', REVERSE('D,Ravi,K')) > 0
THEN RIGHT('D,Ravi,K', CHARINDEX(' ', REVERSE('D,Ravi,K')) - 1)
END AS 'MIDDLE NAME'
But, I'm getting error
Msg 536, Level 16, State 1, Line 1
Invalid length parameter passed to the right function.
Can anyone help me resolve this?
Any other technique will be appreciated to extract above values.