我正在尝试使用SQL Server进入XML节点。
CREATE TABLE temp.testXML(ID INT, xmlinput XML NULL);
INSERT INTO temp.testXML
VALUES (1, '<root><node1><lang>English</lang></node1><innernode><info>20170117T022113</info></innernode></root>')
我想打印&#34; info&#34;节点即&#34; 20170117T022113&#34;
SELECT
t.id,
x.XmlCol.value('(/innernode/info)[1]', 'VARCHAR(100)') AS dt
FROM
[temp].[testxml] as t
CROSS APPLY
t.rawxml.nodes('/root') as x(XmlCol)
我收到了空。
如何获取节点值?
由于 MR
答案 0 :(得分:1)
您的查询中有两个错误
xmlinput
函数中的nodes
列名称代替rawxml
/
查询
SELECT t.id,
x.XmlCol.value('(innernode/info)[1]', 'VARCHAR(100)') AS dt
FROM [testxml] AS t
CROSS APPLY t.xmlinput.nodes('/root') AS x(XmlCol)