4
SELECT
**FIELDS**
AS [text()] --Stops the XMLPATH line rendering output as XML
FROM #temp
WHERE  **CONDITIONS**
FOR XML PATH('') 

这在 SQL Server 2000 中不起作用(不受支持)。我尝试过使用FOR XML RAW,但它返回了大量无用的信息。IE:

 <row text x0028 x0029="blah, blah"> <row text x0028 x0029="blah"> 

上面的代码当前从表中的每一行返回一个连接的字符串(由多个不同类型的列组成)。

如何在 SQL Server 2000 中实现这一点?

4

3 回答 3

7

SQL Server 2000 中的串联:

declare @s varchar(8000);
set @s = '';

select @s = @s + field1 + field2 + field3
from #temp
where ...
order by ...;

select @s;
于 2011-11-22T15:25:42.637 回答
3

XML数据类型在 2000 年不受支持,它是在 2005 年推出的。

SQL 2000 确实引入了FOR XML,但它只支持RAW、、AUTOEXPLICIT

于 2011-11-22T14:57:05.370 回答
0

您必须在FOR XML PATH(' ')中定义一些文本或字符,例如 FOR XML PATH('abc'). 您还可以FOR XML RAW('abc')用于输出原始 XML。

于 2014-03-05T14:36:42.750 回答