【发布时间】:2021-06-09 07:39:01
【问题描述】:
我需要将我的数据导出为 XML 格式。为简单起见,假设我有一个表 Employee,其中包含 FName、MName 和 LName 列。要将数据导出为 XML,我编写了以下查询
SELECT FName, MName, LName from Employee FOR XML PATH ('Emp Details'), ROOT ('Details');
这会以正确的 XML 格式返回数据。但是,如果有任何行具有 NULL 值,它会跳过该列的 XML 标记。就像在下面的示例中,MName 有一个 NULL 值,因此 XML 中也缺少 MName 的标记:-
<Emp Details>
<Details>
<FName>Rohit</Fname>
<LName>Kumar</LName>
</Details>
</Emp Details>
我尝试过使用ELEMENTS XSINIL 方法,但它显示的标签类似于
<MName xsi:nil="true" />
但是,我希望它显示为
<MName />
是否可以以这种方式显示 NULL 值 XML 标签?
谢谢
【问题讨论】:
-
改用
'',这将强制显示节点。所以ISNULL(MName,'')会强制节点出现,但是是空白的。
标签: sql sql-server xml tsql