繁体   English   中英

从表 SQL Server 中提取 xml 值

[英]Extract xml value from table SQL Server

我正在尝试从 table.PFB 示例 xml 中的 xml 中提取值。

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfKeyValue xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <KeyValue>
        <Key>[#Id#]</Key>
        <Value>354005</Value>
</ArrayOfKeyValue>

我正在尝试下面的脚本,但它不起作用。

SELECT 
    CAST(CAST(([KeyWordValues]) AS ntext) AS XML).value('(/ArrayOfKeyValue/KeyValue[1])', 'nvarchar(max)')
FROM 
    Table

我收到此错误:

Msg 2389, Level 16, State 1, Line 1
XQuery [value()]: 'value()' 需要一个单例(或空序列),找到类型为 'xdt:untypedAtomic *' 的操作数

请注意 XML 在数据库中保存为varchar

请帮忙。 提前致谢

非常感谢您的帮助。 我让它工作了。

 SELECT cast(cast(([KeyWordValues]) as ntext) as 
 xml).value('(/ArrayOfKeyValue/KeyValue/Value)[1]', 'nvarchar(max)')
 FROM Table

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM