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



从SQL服务器生成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>

NULL 值不会向 XML 添加值。

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

最新更新