-1

我有一个包含tblApplications一些字段的 SQL 表名称...其中一个名为的字段Content具有 XML 值,如下图所示:

在此处输入图像描述

当我单击该字段的内容时,Content我在新编辑器选项卡中获得了值,如下图所示:

在此处输入图像描述

现在我想从使用查询value using id的 xml 值中获取dataitemtblApplications

如何使用 id 从内容中获取价值?例如:我想获取 dataitem = 的 id 值ContentTitle (上图中的第三行)

如何使用查询获得它????

谢谢

4

2 回答 2

6
DECLARE @id VARCHAR(100) = 'contactTitle';

SELECT *, T.Content.value('(/XmlDataPairDocument/dataitem[@id=sql:variable("@id")]/@value)[1]', 'VARCHAR(100)')
FROM tblApplications T;
于 2013-07-26T07:53:01.303 回答
0

试试这个——

SELECT 
       value = t.c.value('@value', 'VARCHAR(20)')
     , id = t.c.value('@id', 'VARCHAR(30)')
FROM (
     SELECT content
     FROM tblApplications
) t
CROSS APPLY content.nodes('XmlDataPairDocument/dataitem') t(c)
于 2013-07-26T07:44:15.547 回答