从SQL中选择XML - 从结果中删除/排除NULL和0(零)值

时间:2013-11-14 19:40:48

标签: sql sql-server xml

从SQL Server生成XML,但我想从结果中排除NULL或0(零)的项目。这可能吗?我附上了一个SELECT语句的示例以及一些XML结果。

SELECT 
VehicleID AS 'VehicleID/@id',
SubModelID AS 'SubModelID/@id',
EngineID AS 'EngineID/@id',
FROM myTable
FOR XML PATH('App')

以下是一个示例结果:

<App>
   <VehicleID id="128001" />
   <SubModelID id="295" />
   <EngineID id="0" />
</App>

我想在ID = 0的情况下排除EngineID结果(或任何其他结果),如下所示:

<App>
   <VehicleID id="128001" />
   <SubModelID id="295" />
</App>

1 个答案:

答案 0 :(得分:1)

NULL值不会为XML添加值。

要从结果中排除0,您可以使用nullif(columnname, 0)