Oracle wm_concat()函数

转:https://www.cnblogs.com/qianyuliang/p/6649983.html

Oracle wm_concat()函数

oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并

如:

shopping:

 

-----------------------------------------

 

u_id       goods            num

 

------------------------------------------

 

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  

 

 

想要的结果2:

 

--------------------------------

 

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   

注:如果需要列转行的字段位NVARCHAR2时,需使用 to_char先将字段指转换类型,在进行wm_concat转换。否则在程序或导出文件中显示的每个字符中间会有空格或?

 

 

 

你可能感兴趣的:(Oracle,1)