有沒有辦法使用SQLXML檢查XML字段中元素的值是否爲空值?你看我在表中Test
的列Conf
以下數據:如何檢查XML元素是否具有空字符串值的屬性
<Conf>
<UserData>
<data type="str" value="" />
</UserData>
</Conf>
我可以檢查data
存在通過以下SQL請求:
SELECT Test.Conf.exist('/Conf/UserData/data') FROM Test;
但我怎麼能檢查data
有一個空的value
?這可能是類似於以下,但它不工作:
SELECT Test.Conf.value('(/Conf/UserData/data/@value)[1]', 'nvarchar(max)')='' FROM Test;
我的最終解決方案是使用下面的SQL語句:
SELECT Test.Conf.value('string-length(/Conf[1]/UserData[1]/data[1]/@value)', 'int') FROM Test;
'字符串length'功能做這項工作。 – 2011-03-14 08:36:44