Это небольшое изменение приведет к тому, что уродливые сущности исчезнут, но они не устранят возврат каретки (посмотрите результаты в тексте, а не в таблице, чтобы увидеть их):
SELECT Params = ( SELECT DesCol + ' = ''' + SoCol + ''''
FROM dbo.Map_Data t1
WHERE ID = 125
FOR
XML PATH(''), TYPE
).value('.[1]', 'nvarchar(max)');
Если вы тоже хотите избавиться от CR / LF, вы можете сказать:
SELECT Params = ( SELECT REPLACE(REPLACE(DesCol + ' = ''' + SoCol + '''',
CHAR(13), ''), CHAR(10), '')
FROM dbo.Map_Data t1
WHERE ID = 125
FOR
XML PATH(''), TYPE
).value('.[1]', 'nvarchar(max)');
Также я не уверен, как вы собираетесь использовать выходные данные, но если вы собираетесь оценивать их позже с помощью динамического SQL, вам нужно заменить встроенные одинарные кавычки ('
) на два одинарные кавычки (''
). В противном случае он взорвется, потому что они также являются разделителями строк.