从MSSQL 2008中的Select查询返回HTML标记
考虑我的Select查询,我正在使用从MSSQL 2008中的Select查询返回HTML标记,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,考虑我的Select查询,我正在使用 Select Convert(xml, '<b>Grand Total</b>'), Convert(xml,'<b>'+Convert(varchar,Sum(amt))+'</b>')as Amt From myTable For xml path(''),type //with and without results are same 此外,我还有更多的HTML标记来自此表单中的局部变量: 设置@lo
Select Convert(xml, '<b>Grand Total</b>'),
Convert(xml,'<b>'+Convert(varchar,Sum(amt))+'</b>')as Amt
From myTable
For xml path(''),type //with and without results are same
此外,我还有更多的HTML标记来自此表单中的局部变量:
设置@loc_var='这是一些伪文本',依此类推。最后,将上述结果集嵌入上述HTML字符串中的某个位置。
但嵌入后的最终结果包含Select语句,结果如下,其余都很好,没有问题。请帮忙
输出:
期望输出
试试这个-
DECLARE @temp TABLE (value INT)
INSERT INTO @temp (value)
VALUES (1),(2)
SELECT '<Table><TR><TD>This is some dummy Text</TD></TR></TABLE>' + (
SELECT SUM(value) AS [text()]
FROM @temp
FOR XML PATH('b')
)
输出-
----------------------------------------------------------------
<Table><TR><TD>This is some dummy Text</TD></TR></TABLE><b>3</b>
很难找到:
SELECT @DATA = CONCAT('<br><br>',(SELECT X ,',' From MYTABLE For XML PATH (''));
在变量使用中选择XML路径后,替换:
SELECT @DATA = REPLACE(REPLACE(@DATA,'< ;','<'),'> ;','>');--THERE IS SPACE CHARACTERS, YOU SHOULD CLEAN "> ;" AND "< ;"
然后您可以插入或选择@DATA,有很多工具非常擅长生成HTML。T-SQL不是其中之一。什么在运行这个SQL查询,为什么它不能生成HTML?@Damien_the_unsiver如果你想从SQL作业发送电子邮件怎么办?
SELECT @DATA = CONCAT('<br><br>',(SELECT X ,',' From MYTABLE For XML PATH (''));
SELECT @DATA = REPLACE(REPLACE(@DATA,'< ;','<'),'> ;','>');--THERE IS SPACE CHARACTERS, YOU SHOULD CLEAN "> ;" AND "< ;"