oracle里面concat函数用法,oracle wm_concat函数用法-Oracle

本文详细探讨了Oracle SQL中的wmsys.wm_concat函数,通过实例展示了如何使用该函数按逗号分隔和按分组、排序条件连接表中的name列。重点讲解了函数在partition by子句下的应用,以及其在实际场景中的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wmsys.wm_concat函数,它的作用是以’,’链接字符

例子如下:

SQL> create table idtable (id number,name varchar2(30));

Table created

SQL> insert into idtable values(10,’ab’);

1 row inserted

SQL> insert into idtable values(10,’bc’);

1 row inserted

SQL> insert into idtable values(10,’cd’);

1 row inserted

SQL> insert into idtable values(20,’hi’);

1 row inserted

SQL> insert into idtable values(20,’ij’);

1 row inserted

SQL> insert into idtable values(20,’mn’);

1 row inserted

SQL> select * from idtable;

ID NAME

———- ——————————

10 ab

10 bc

10 cd

20 hi

20 ij

20 mn

6 rows selected

SQL> select id,wmsys.wm_concat(name) name from idtable

2  group by id;

ID NAME

———- ——————————————————————————–

10 ab,bc,cd

20 hi,ij,mn

SQL> select id,wmsys.wm_concat(name) over (order by id) name from idtable;

ID NAME

———- ——————————————————————————–

10 ab,bc,cd

10 ab,bc,cd

10 ab,bc,cd

20 ab,bc,cd,hi,ij,mn

20 ab,bc,cd,hi,ij,mn

20 ab,bc,cd,hi,ij,mn

6 rows selected

SQL> select id,wmsys.wm_concat(name) over (order by id,name) name from idtable;

ID NAME

———- ——————————————————————————–

10 ab

10 ab,bc

10 ab,bc,cd

20 ab,bc,cd,hi

20 ab,bc,cd,hi,ij

20 ab,bc,cd,hi,ij,mn

6 rows selected

个人觉得这个用法比较有趣.

SQL> select id,wmsys.wm_concat(name) over (partition by id) name from idtable;

ID NAME

———- ——————————————————————————–

10 ab,bc,cd

10 ab,bc,cd

10 ab,bc,cd

20 hi,ij,mn

20 hi,ij,mn

20 hi,ij,mn

6 rows selected

SQL> select id,wmsys.wm_concat(name) over (partition by id,name) name from idtable;

ID NAME

———- ——————————————————————————–

10 ab

10 bc

10 cd

20 hi

20 ij

20 mn

6 rows selected

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值