Oracle实现一个字段的多条记录拼接

发布时间 2023-05-31 15:35:27作者: haowe

问题的前提

需求需要多个病历类型的聚合显示 java和oracle都可以实现 java需要遍历数组,稍显麻烦 于是我则采用Oracle的聚合函数来是实现,主要是展示一下用法

1.聚合函数-wmsys.wm_concat

 
select wmsys.wm_concat(DOC_TITLE) as doc_titile from rec_recall_doc_auth t

如果是同时想查询多个字段就需要用 group by进行分组

结果展示

可以看出是采用多个记录内容之间默认采用”,”进行拼接而成

2.聚合函数-LISTAGG

 
select LISTAGG(DOC_TITLE, '-') within group (order by DOC_TITLE) as doc_titile from rec_recall_doc_auth t

结果展示

可以看出是采用多个记录内容之间的拼接方式是我们自己定义的