In the string if we need to replace the last character to some new character then below script will help you.

DECLARE @string VARCHAR(max)='a,b,c,d'

DECLARE @LastCharachter VARCHAR(2)=',',

@NewCharachter VARCHAR(2)=' &';

select CASE WHEN CHARINDEX(@LastCharachter,REVERSE(@string)) <> 0 then (SELECT (SUBSTRING(@string,0,LEN(@string) - CHARINDEX(@LastCharachter,REVERSE(@string))+1))

+@NewCharachter+ SUBSTRING(@string,LEN(@string) - CHARINDEX(@LastCharachter,REVERSE(@string))+2,LEN(@string)) )

ELSE @string

end

--Input=a,b,c,a
Output =a,b,c&d