最近实习写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类型