2011-08-30 24 views
0

我正在使用MS SQL Server 2008.我有一列XML存储一些序列化的结果。当被序列化对象的值是nothing/null这个结果存储在数据库中,在SQL查询中检测XML无l

<StaticModifiedProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:nil="true" /> 

我建立需要确定在XML列中的数据是否查询代表一个空的对象或不。换句话说,区分列何时具有上述值或序列化对象。

SQL Server 2008中是否有内置的XML功能可以执行此操作?

回答

1

下面是一个例子来读取XSI:

declare @t table(x xml); 
insert @t values (N'<StaticModifiedProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:nil="true" />') 
select x.value('(StaticModifiedProduct/@xsi:nil)[1]', N'nvarchar(5)') from @t; 
:从顶级项nil属性