将数据从SQL导出到XML - NULL值

时间:2013-10-13 12:41:44

标签: sql sql-server ssis null

我将数据从SQL Server导出到XML文件,如下所示:

USE Northwind;

SELECT * FROM Products FOR XML PATH;

对于NULL值,它返回xsi:nil="true"

例如:<ProductName xsi:nil="true"/>

我可以在没有xsi:nil="true"的情况下导出吗?

但我确实希望标记名称为:<ProductName /><ProductName></ProductName>

有人可以告诉我如何这样导出吗?

感谢。

1 个答案:

答案 0 :(得分:4)

你可以试试这样的......

SELECT * FROM Products
    FOR XML RAW('customer'), ROOT('customers') 

XML语句中的ROOT子句为XML文档创建根元素,以创建格式良好的XML文档, 如果你想要Elements中的所有值,你可以在FOR XML语句中添加Elements子句,就像这样。

SELECT * FROM Products
FOR XML RAW('customer'), ROOT('customers'), Elements

现在,如果你在它的末尾添加XSINIL子句,那么ELEMENTS将为null值,否则它将不会返回该元素。这将是这样的......

SELECT * FROM Products
FOR XML RAW('customer'), ROOT('customers'), Elements XSINIL