我在 SQL Server 中有这个 XML
<data>
<add key="images" value="image/path/img.gif" />
<data>
我想选择每个“添加”节点的值属性,键为“images”
我现在拥有的是:
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
。
关于sql - XPath 根据 SQL Server xml 中的属性 'A' 获取属性 'B' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8788207/