最近在维护一个项目,出现了一下bug需要进行调试,于是把正式库上面的代码搬到本地库上面,数据库是本地的,跑项目的时候调试发现代码里面带有wmsys.wm_concat函数的SQL语句出现错误,经排查发现本地测试库用的是oracle 11g版本,比正式库上的版本高,解决方式这分享给大家:
wmsys.wm_concat是oracle 10g推出的,用来连接字符串,LISTAGG是oracle 11g推出的,它的作用和wmsys.wm_concat是一样的。
select listagg(p.id_card,',') within group(order by p.PERSON_ID) PERSON_IDCARDS from cbms_lib_person p where p.person_id in (136565,158756,158762,158761,149569,153512,89376,70196)
效果如下:

相关文章:
- sql语句行列转换 2021-05-17
- SQL Server 行列转换 sql语句 2021-05-26
- 数据库:通过SQL语句实现行转列和列转行功能 2021-08-21
- SQL中行转列的语句 2021-09-05
- SQL语句的行列转换 2022-12-23
- (转)行变列SQL语句(MSSQL) 2022-12-23
- Sql(presto语法) 实现行转列和列转行 2021-06-28
- Oracle行转列、列转行的Sql语句总结 2021-12-22