文档章节

Oracle一列的多行数据拼成一行显示字符

i33
 i33
发布于 2013/10/10 16:08
字数 299
阅读 478
收藏 13
Oracle一列的多行数据拼成一行显示字符
 

oracle 提供了两个函数 WMSYS.WM_CONCATListAgg函数

1.WMSYS.WM_CONCAT

例:       
id  name 
 1   aa 
 2   bb 
 3   cc
  要的结果是"aa,bb,cc"
select WMSYS.WM_CONCAT(a.name) from user a
这样的话,查询出的结果:"aa,bb,cc"
  
分隔符如果不需要用英文的逗号,需要改成别的符号比如分号的,可以用下面的方法替换下:
select replace(WMSYS.WM_CONCAT(a.name),',',';') from user a

结果:"aa;bb;cc"

注意:使用时如果出现乱码:

wmsys.wm_concat(to_char(....))..应该加上to_char()

2.ListAgg

listagg函数的语法结构如下:
  
LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]

listagg虽然是聚合函数,但可以提供分析功能(比如可选的OVER()子句)。使用listagg中,下列中的元素是必须的: 

    •需要聚合的列或者表达式 
    •WITH GROUP 关键词 

    •分组中的ORDER BY子句

例子:
DEPTNO ENAME
--------- ----------
     10 CLARK
     10 KING
     10 MILLER
     20 ADAMS
     20 FORD
     20 JONES
按照DEPTNO字段分组,对结果集进行字符串聚合,结果如下:
DEPTNO AGGREGATED_ENAMES
--------- -------------------------
    10 CLARK,KING,MILLER
    20 ADAMS,FORD,JONES
SQL:
SELECT deptno,LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM  emp GROUP BY deptno;


本文转载自:http://www.2cto.com/database/201301/185447.html

i33

i33

粉丝 46
博文 241
码字总数 7442
作品 0
东城
私信 提问
vim命令:一般模式

vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性。刚开始使用时,你会发现最大的区别就是编辑一个文本时,vi不会显示颜色,而vim会显示颜色。...

BatmanLinux
2018/01/03
0
0
VIM工具(一般模式,编辑模式,命令模式)

vim介绍 vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性。刚开始使用时,你会发现最大的区别就是编辑一个文本时,vi不会显示颜色,而vim会显...

网虫变网工
2017/11/07
0
0
Linux Command Vi

命令模式: 移动光标 h 或向左方向键 光标向左移动一个字符 j 或向下方向键 光标向下移动一个字符 k 或向上方向键 光标向上移动一个字符 l 或向右方向键 光标向右移动一个字符 [Ctrl] + [f]...

iamtwang
2014/09/18
17
0
vim命令总结

vim 共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』。 表格是对vim常用命令的总结: 第二部份:一般模式切换到编辑模式的可用的按钮说明 第三部份:一般模式切换到指...

喵来个鱼
2017/12/10
0
0
ubuntu vim终端编辑命令

一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示   :syntax enable   :source $VIMRUNTIME/syntax/php.vim 二. VI常用命令 _ 一般模式 光标移动 h 或 向左方向键...

Koon.LY
2012/06/25
67
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 如果是个帅小伙你愿意和他出去吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Ghost 》游戏《死亡搁浅》原声 《Ghost 》游戏(《死亡搁浅》原声) - Au/Ra / Alan Walker 手机党少年们想听歌,请使劲儿戳...

小小编辑
21分钟前
20
3
java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部