SQL SERVER- FOR XML PATH 特殊字符转义问题
declare @ls_Char nvarchar(100) = 'NO. INVOICE & NO JOB : BD112024 & BDD04739L1' select @ls_Char for xml path('')
Result :
NO. INVOICE & NO JOB : BD112024 & BDD04739L1
如果直接使用 for xml path(''), 如果有特殊字符将会自动转为转义符, <,>,&......
如果不想要被转换, 那么需要在外面再包一层 select, 并且需要用到type属性.
select (select @ls_Char for xml path(''),type).value('.','NVARCHAR(MAX)')
最终效果如下:
NO. INVOICE & NO JOB : BD112024 & BDD04739L1