zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

Oracle 函数 用法 里面 CONCAT WM
2023-06-13 09:11:40 时间

大家好,又见面了,我是你们的朋友全栈君。

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144741.html原文链接:https://javaforall.cn