xml - XMLTABLE 有原子值问题
问题描述
我对 XMLTABLE 很陌生,这可能是一个非常愚蠢的问题。
对于以下查询:
Select T1.*
From XmlTable ('$d/Order/OrderHeader'
Passing '
<Order>
<OrderHeader>
<OrderId>a</OrderId>
</OrderHeader>
</Order>' As "d"
Columns
OrderId Char(7) Path 'OrderId'
) as T1;
我收到一个错误
SQL 状态:10507 供应商代码:-16011 消息:[SQ16011] XPath 表达式中的中间步骤表达式的结果包含原子值
我不确定为什么会这样。如果有人可以指导我解决问题,那就太好了
解决方案
尝试显式解析 XML 而不是传递字符串值:
SELECT T1.*
FROM XMLTABLE (
'$d/Order/OrderHeader'
PASSING XMLPARSE (DOCUMENT '
<Order>
<OrderHeader>
<OrderId>a</OrderId>
</OrderHeader>
</Order>') AS "d"
COLUMNS
OrderId CHAR(7) PATH 'OrderId'
) AS T1;
推荐阅读
- python - 获取 MASK 位置的多标记词的概率
- url - 页面速度正在监控错误的url
- button - 处理对话框上的多个按钮单击
- python - 为什么使用 cx_oracle 执行 SQL 命令失败但手动执行?
- python-3.x - InvalidArgumentError:只有一个输入大小可能是 -1,而不是 0 和 1
- c++ - 模板类的成员函数何时实例化?
- python - Python Cookielib CookieJar,如何在发送 cookie 后读取响应(html 网页)——不使用请求
- python - jinja 中不显示数据
- ansible - ansible playbook 在其中一台主机上失败
- google-sheets - arrayformula 中的 Google Sheets 查询充当 SUMIFS