繁体   English   中英

SQL Server 2012查询XML列

[英]SQL Server 2012 query XML column

我在网上做了很多关于这个问题答案的研究。 我发现了很多帮助网站,但遗憾的是我没有得到结果(我真的不懂XML)。

我有一个表(称为CustomField.PersonCustomFieldValue),它有一个存储XML数据的XML数据类型列(称为XmlValue)。 我不确定如何提取值。

存储在列中的数据示例如下:

<XmlDataValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Value xsi:type="xsd:string">NO</Value></XmlDataValue>

如何提取Value字符串? 在这种情况下 - “不”。

非常感谢。

试试这样:

DECLARE @xml XML=
N'<XmlDataValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Value xsi:type="xsd:string">NO</Value>
</XmlDataValue>';
SELECT @xml.value(N'(/XmlDataValue/Value/text())[1]',N'nvarchar(max)');

这将返回相同的

SELECT @xml.value(N'(//Value)[1]',N'nvarchar(max)')

但是你应该尽可能具体!

将此调用为表的列如下所示:

SELECT XmlValue.value(N'(/XmlDataValue/Value/text())[1]',N'nvarchar(max)')
FROM YourTable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM