博主最近在学习使用oracle,前几天写代码的时候有一个任务,查询到某一列的合并数据并且要求不能相同,我在网上查了查原来可以使用wm_concat()这个函数来实现。
一、wm_concat()函数是oracle中独有的,mysql中有一个group_concat()函数。
这两个函数的作用是相同的,它们的功能是:实现行转列功能,即将查询出的某一列值使用逗号进行隔开拼接,成为一条数据。
下面我们就来实现一下:
我要把local_labour_name这个字段用逗号拼接成一条数据。
然后我们需要加上wm_concat()这个函数,但是我这边加上的时候出现了问题:
这并不是我想要的结果,最后我看了看哪里出现了问题,原来是字段类型没对上,我们这边需要to_char()一下;
这个时候我们就得到了我们想要的结果。如果我们的查询到的结果中有重复怎么办?我们可以再前面加上distinct来去除重复。