oracle下载账号和密码Oracle中的wm_concat(column)函数使用介绍

实现字段合并

使用oraclewm_concat(column)函数实现字段合并如:shopping ----------------------------------------- u_id       goods            num__________oracle账号______________________________ 1             苹果               2 2             梨子               5 1             西瓜               4 3             葡萄               1 3             香蕉               1 1             橘子               3 ======================================== 想要的结果为: ---------------------------------------- u_id          goods_sum ________________________________________ 1              苹果,西瓜,橘子 2              梨子 3              葡萄,香蕉 ----------------------------------------select u_id, wmsys.wm_concat(goods) goods_sum   from shopping   group by u_id  解析:使用wm_concat之后,各个值之间用逗号自动隔开,可以结合replace函数把逗号换成其他符号,如:select replace(wm_concat(goods),',','|') from shopping;

与||合用的情况

想要的结果:---------------------------------------- u_id          goods_sum _________________________________________ 1             苹果(2斤),西瓜(4斤),橘子(3斤) 2             梨子(5斤) 3             葡萄(1斤),香蕉(1斤)----------------------------------------使用oracle wm_concat(column)函数实现:select u_id, wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum from shopping group by u_id

这里有关于连接符 || 的介绍:点击打开链接

扩展

案例:我要写一个视图,类似create or replace view as select 字段1, 字段2...字段50 from tablename基表有50多个字段,要是靠手工写太麻烦了,有没有什么简便的方法 当然有了,看我如果应用wm_concat来让这个需求变简单select 'create or replace view as select '|| wm_concat(column_name) || ' from dept ' from user_tab_columns where table_name='DEPT'; 
此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。