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

  

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM