oracle中有关listagg函数的使用-问题拓展
最编程
2024-08-08 12:59:19
...
I:字段拼接过程中以0开头的小数,开头的0消失
解决方案:
加上to_char(字段,’fm9999999999999990.00’)
(查看表结构设计,这里的类型是number(16,2),所以设置前面小数点前面最多16位,后面保留2位)
II:listagg聚合函数去重
使用正则替换方式去重(仅适用于oracle字符串大小比较小的情况)
regexp_replace(listagg(sfaaua001,',') within group(order by sfea002),'([^,]+)(,\\1)*(,|$)','\\1\\3') sfaaua001
参考资料:
1、文中的示例用表创建语句:https://blog.****.net/bananasssss/article/details/121714632?spm=1001.2014.3001.5501
推荐阅读
-
oracle的 listagg WITHIN GROUP 函数使用
-
oracle中有关listagg函数的使用-问题拓展
-
如何在Oracle中使用WITHIN GROUP的LISTAGG函数将列转换为行?
-
如何在2020年11月2日的Oracle SQL中使用listagg函数?
-
详细解析与实战案例:如何使用Oracle的Listagg列转行函数
-
理解Oracle的listagg函数与Mysql的group_concat在实际应用中的差异与相似之处
-
修复MyBatis在使用Oracle的LISTAGG函数进行有序字段合并时的错误
-
搞定Oracle中的listagg函数和数据去重
-
轻松掌握Oracle中的LISTAGG函数使用方法
-
理解Oracle中的wm_concat和listagg函数:使用方法与异同点