【发布时间】:2015-07-03 09:24:01
【问题描述】:
我在这样的表中有数据:
ID Date Side Qty
1 2015-07-01 buy 1000
2 2015-07-02 buy 1000
3 2015-07-03 sell 1000
4 2015-07-04 sell 1000
我需要将其提取为 XML,格式如下:
<trades>
<buy>
<date>2015-07-01</date>
<qty>1000</qty>
</buy>
...
<sell>
<date>2015-07-03</date>
<qty>1000</qty>
</sell>
...
</trades>
我正在努力的数据格式指定每个子条目必须包含在标签<buy> 或<sell> 中,这意味着标签的名称必须从“Side”列生成。问题是我不知道如何从数据中设置 xml 元素的名称,或者即使这是可能的。这是我的代码:
select
xmlelement(
name "trades",
xmlagg(
xmlelement(name Side
xmlconcat(
xmlelement(name "date", Date), ...
这会生成
<trades>
<Side>
<date>2015-07-01</date>
<qty>1000</qty>
</Side>
...
<Side>
<date>2015-07-03</date>
<qty>1000</qty>
</Side>
...
</trades>
换句话说,使用“Side”一词代替列的值。是否可以在 Postgres 中使用数据值作为 xml 元素名称?
我正在使用 9.4
【问题讨论】:
标签: postgresql