Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SQL Server表中提取xml值_Sql_Sql Server - Fatal编程技术网

从SQL Server表中提取xml值

从SQL Server表中提取xml值,sql,sql-server,Sql,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"

我试图从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>
我得到了这个错误:

味精2389,第16级,状态1,第1行
XQuery[value()]:“value()”需要一个单例(或空序列),找到的操作数类型为“xdt:untypedAtomic*”

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


请帮忙。提前感谢

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

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

这回答了你的问题吗?您是否先尝试搜索错误?更新路径
(ArrayOfKeyValue/KeyValue/Key)[1]
,检查此项
cast(([KeyWordValues]),因为ntext
这不是必需的,您可以直接将其转换为XML作为
cast([KeyWordValues]作为XML)