如何在oracle中将值列表转换为逗号分隔值
Posted
技术标签:
【中文标题】如何在oracle中将值列表转换为逗号分隔值【英文标题】:How to make list of values into comma separated values in oracle 【发布时间】:2015-07-16 11:34:34 【问题描述】:id date
1 30/12/1987
1 20/01/1988
1 15/02/2000
2 02/02/2014
2 15/02/2014
3 10/10/1988
结果应该是
1 30/12/1987,20/01/1988,15/02/2000
2 02/02/2014,15/02/2014
3 10/10/1988
【问题讨论】:
Is there any function in oracle similar like group_concat of mysql?的可能重复 在 11g 中使用LIASTAGG
。
【参考方案1】:
这样
SELECT
id,
LISTAGG(date, ', ') WITHIN GROUP (ORDER BY id) "Dates"
FROM mytable
GROUP BY id
【讨论】:
【参考方案2】:简单的方法:
SELECT id, wm_concat(Date) as Dates
FROM tablename
GROUP BY id;
【讨论】:
“由于 WM_CONCAT 未记录且不受 Oracle 支持,因此建议不要在生产系统中使用它”psoug.org/definition/WM_CONCAT.htm 更糟糕的是“另外,WM_CONCAT 已从 12c 开始删除”oracle-base.com/articles/misc/…跨度>以上是关于如何在oracle中将值列表转换为逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Azure Databricks SQL 中将字段值转换为逗号分隔
如何在 BASH 中将制表符分隔值 (TSV) 文件转换为逗号分隔值 (CSV) 文件?