如何在SQL Server中获取XML值

时间:2013-07-26 07:40:41

标签: sql sql-server xml

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

enter image description here

当我点击字段Content的内容时,我在新的编辑器标签中获得了值,如下图所示:

enter image description here

现在我希望使用来自value using id

的查询从dataitem的xml值中获取tblApplications

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

如何使用Query ????

获取它

由于

2 个答案:

答案 0 :(得分:6)

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

SELECT *, T.Content.value('(/XmlDataPairDocument/dataitem[@id=sql:variable("@id")]/@value)[1]', 'VARCHAR(100)')
FROM tblApplications T;

答案 1 :(得分: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)