这取决于您如何编写查询,但通常null
值不包含在生成的 XML 中,因此如果您想省略空值,您可以使用nullif
获取空值而不是空值。
declare @Person table
(
Name varchar(20)
)
insert into @Person values ('Person1')
insert into @Person values ('Person2')
insert into @Person values ('')
insert into @Person values (null)
select '2012' as period,
(
select nullif(Person.Name, '') as 'users/person'
from @Person as Person
for xml path('') , type
)
for xml path(''), root('company')
结果:
<company>
<period>2012</period>
<users>
<person>Person1</person>
</users>
<users>
<person>Person2</person>
</users>
</company>