从SQL Server表中提取xml值
我试图从table.PFB示例xml中的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"
<?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)