最近实习写SQL语句用到了这个函数来进行子查询合并查询,了解了之后特来记录一下

wm_concat()函数

wm_concat()函数是oracle独有的,他和Mysql中的group_concat()函数功能差不多,实现行转换功能,将查询出的某一列值使用逗号进行隔开拼接。
正常展示一行数据的话

select  gysmc  from xm_zbjg zbjg  where zbjg.sfzb = 1

在这里插入图片描述

而如果用wm_concat()函数的话,结果为如下所示

select wm_concat(GYSMC) gysmc from xm_zbjg zbjg  where  zbjg.sfzb = 1 group by GYSMC

在这里插入图片描述
可以看出,使用wm_concat()函数后,可以将将相同gysmc的gysmc用逗号分隔合并

注意:

1.select的只能选择group by的字段和wm_concat的字段

2.如果group by的字段是使用了to_char的字段,比如日期,那么wm_concat也需要在加一个to_char(wm_concat(name)),因为wm_concat(name)是clob类型

Logo

更多推荐