有没有办法使用 SQLXML 检查 XML 字段中元素的值是否为空大小?Conf
考虑我在表的列中有以下数据Test
:
<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;