You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL XML转表问题及与SQL Server XML解析语法差异咨询

问题原因

修正后可直接运行的SQL

with cte as (SELECT 
 '<a id_file="9965_99" version="4.1.0">
  <b>
    <bbb name_code="note"/>
  </b>
  <c id="d000fe02-bd80-46ac-8d60-afdf3e194f90">
    <f ddd="test1" />
    <r rrr="1" />
  </c>
  <c id="d000fe02-bd80-46ac-8d60-afdf3e194f91">
    <f ddd="test2" />
    <r rrr="2" />
  </c>
  <c id="d0t0fe02-bd80-46ac-8d60-afdf3e194f92">
    <f ddd="test3" />
    <r rrr="3" />
  </c>
</a>' ::xml as xml_content)
SELECT 
(xpath('//@id_file', xml_content))[1]::text as col1,
(xpath('//@version', xml_content))[1]::text as col2,
(xpath('//bbb/@name_code', xml_content))[1]::text as col3,
(xpath('@id', xt))[1]::text as col4,
(xpath('f/@ddd', xt))[1]::text as col5,
(xpath('r/@rrr', xt))[1]::text as col6
from cte
cross join unnest(xpath('//c', xml_content)) as xt;

运行结果说明

执行后会返回3行数据,和你提供的SQL Server运行结果完全一致,所有字段都能正确取值。

内容的提问来源于stack exchange,提问作者Ingward Berholz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:27:01