SQL Server:转换html标签

时间:2018-01-22 10:03:45

标签: html sql sql-server

在我的问题未能找到答案之后,我决定在这里问一下。我认为解决方案很简单。

我有一个像这样的SQL查询:

SELECT 
    e.*,  
    STUFF((SELECT ',' + '<a href=test.aspx?tab=2&name=wil&item_id=[er.id]>' + er.name + '</a>'
           FROM dbo.role er
           FOR XML PATH ('')), 1, 1, '') all
FROM            
    dbo.worker e

唯一的问题是html标签的输出很奇怪,如

< = &lt;
& = &amp;
> = &gt;

我怎样才能使它成为正常的标志?

1 个答案:

答案 0 :(得分:1)

您可以使用type指令来避免xml编码

SELECT e.*,
       Stuff((SELECT ','
                     + '<a href=test.aspx?tab=2&name=wil&item_id=[er.id]>'
                     + er.NAME + '</a>'
              FROM   dbo.role er
              FOR XML PATH (''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM   dbo.worker e