sql - 如何生成 oracle SQL XML 格式
问题描述
我想在这个结果中生成 XML 格式的 Oracle SQL。我的查询如下:
Select xmlelement(“main”,xmlelement(“id”,id)) from tableA
<main>
<id>1</id>
<id>2</id>
</main>
但我总是得到这个结果
<main>
<id>1</id>
</main>
<main>
<id>2</id>
</main>
请帮忙谢谢
编辑:每个执行查询我只需要 1 个,而不是按行。
解决方案
如果您不希望每行处理结果集,则需要聚合多行。处理数字时,可以使用聚合函数,如SUM
、MIN
、MAX
、AVG
等;对于字符串,您可以使用该LISTAGG
函数;但对于 XML 数据,您将需要以下XMLAGG
功能:
SELECT XMLELEMENT(
"main",
XMLAGG(
XMLELEMENT("id",id)
)
) AS xml
FROM tableA
其中,对于您的示例数据:
CREATE TABLE tableA ( id ) AS
SELECT 1 FROM DUAL UNION ALL
SELECT 2 FROM DUAL
输出:
| XML | | :-------------------------------- | | <main><id>1</id><id>2</id></main> |
db<>在这里摆弄
推荐阅读
- python - 从 PIL 调用 tkinter 中的图像而不保存它
- html - 即使为空也显示 div
- c# - 变量数据绑定 WPF 单元格样式 - 对象内的对象
- python - Python MemoryError试图拆分大字符串
- java - javadoc 如何知道每个文档注释用于哪种方法?
- angular - Angular 7如何计算组件完全加载到DOM上的时间
- ios - 播放无噪音的背景声音 - Swift/Xcode
- python - 如何解决关于 python turtle 的“True”或“False”问题?
- python - Django模型保存
- java - 方法注释可以处理此方法引发的错误吗?