[英]XPath get value of attribute 'A' based on attribute 'B' in SQL Server xml
我在SQL Server中有这个XML
<data>
<add key="images" value="image/path/img.gif" />
<data>
我想用key =“images”选择每个“add”节点的value属性
我现在拥有的是:
SELECT ID, Data from Items
where Data.value('(//data/add[@key="images"]/@value)[1]', 'nvarchar') Like '%img%'
有什么建议?
如果只是为从XML检索的nvarchar
指定大小,那么你的工作正常。
SELECT ID, Data
from Items
where Data.value('(//data/add[@key="images"]/@value)[1]', 'nvarchar(100)') Like '%img%'
在这里我指定了100
你可以将它设置为更适合你情况的东西。 没有大小,列的大小为1
。
使用此XPath表达式 :
(//data
/add
[@key="images"]
/@value
[contains(.,"img")]
)
[1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.