2011-08-30 60 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屬性