有没有办法使用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