2

我的表包含 2 列,一列是Idtype int,另一列是 type Xml

Xml专栏中,我有这种结构的数据

<Fields>
    <Field name='aa' value='000'/>
    <Field name='bb' value='111'/>
    <Field name='cc' value='222'/>
</Fields>

现在使用 XQuery,我想查询表以获取名称属性为的字段标记为aa且值属性为的所有行,名称111为属性的字段标记为属性bb且值属性为的所有行222

换句话说,我想提供名称/值对并获取 xml 数据匹配的行。

谢谢 !

4

1 回答 1

1

你可以使用这样的东西(因为你没有提到你的表或列名,我只是自己使用了一些东西——根据需要调整它们!):

SELECT 
    (list of columns)
FROM 
    dbo.YourTableNameHere
WHERE 
    XmlContent.exist('/Fields/Field[@name = "aa"][@value = "000"') = 1

这将返回您的表中的所有行,其中 XML 包含<Field>具有属性的节点name = "aa"value = "000"

于 2012-06-17T09:39:42.003 回答