oracle聚合字符串,Oracle 聚合字符串
-- Start
假设有下面的表,每个人都有可能有多个 Email。
CREATE TABLE EMPLOYEE
(
EMPLOYEE_ID NUMBER(10) NOT NULL,
NAME VARCHAR2(20) NOT NULL
);
CREATE TABLE EMAIL
(
EMPLOYEE_ID NUMBER(10) NOT NULL,
EMAIL VARCHAR2(20) NOT NULL
);
INSERT INTO EMPLOYEE VALUES (1, '张三');
INSERT INTO EMAIL VALUES (1, 'san.zhang@163.com');
INSERT INTO EMAIL VALUES (1, 'san.zhang@qq.com');
INSERT INTO EMPLOYEE VALUES (2, '李四');
INSERT INTO EMAIL VALUES (2, 'li.si@163.com');
INSERT INTO EMAIL VALUES (2, 'li.si@qq.com');
现在让你写一个 SQL 返回下面的结果集,怎么办?
EMPLOYEE_ID NAME EMAIL
1 张三 san.zhang@163.com;san.zhang@qq.com
2 李四 li.si@163.com;li.si@qq.com
不会了吧,其实很简单,这是因为 Oracle 提供了一个叫做 LISTAGG 的函数,如下。
SELECT
E.EMPLOYEE_ID,
E.NAME,
LISTAGG(A.EMAIL, ';') WITHIN GROUP (ORDER BY A.EMAIL) EMAIL
FROM
EMPLOYEE E,
EMAIL A
WHERE
E.EMPLOYEE_ID = A.EMPLOYEE_ID
GROUP BY
E.EMPLOYEE_ID,
E.NAME;
--更多参见:Oracle SQL 精萃
-- 声明:转载请注明出处
-- Last edited on 2015-02-25
-- Created by ShangBo on 2015-02-25
-- End
oracle聚合字符串,Oracle 聚合字符串相关推荐
- oracle 数据有引号,oracle插入字符串数据时字符串中有'单引号问题
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含 ...
- oracle 并接去掉字符串,ORACLE删除字符-TRIM字符截取-substr查找字符-instr
TRIM函数,最简单的功能就是来去除字符串的行首和行尾的空格,返回值类型是varchar2; 1.TRIM函数的完整语法描述 TRIM([{{LEADING | TRAILING | BOTH} [ ...
- oracle正则表达式截断,在oracle中使用正则表达式截取字符串
在oracle中使用正则表达式截取字符串 Sql代码 --以下两条语句,将summary按-分解为两段字符串 regexp_substr(summary, '[^-]+', 1, 1) as _wor ...
- Oracle中Null与空字符串''的区别
http://read.newbooks.com.cn/info/172049.html Oracle中Null与空字符串''的区别 来源:CSDN 作者:jsjzzh 发布时间:2007-1 ...
- Oracle Q-quote delimiter Quote(q) 字符串原样输出
在sql查询中,我们经常需要原样输出字符串,如果字符串中含有大量的单引号.双引号或者特殊字符,那么需要用单引号转义拼接字符串,这样会非常的麻烦. oracle提供了一个Q-quote的表达式来原样输出 ...
- java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用
这些准备工作齐了之后,我们来从Java中的字符串使用入手来比较一下oracle中对于字符串的处理. java中有如下的一些函数,我会依次来做比较. public char charAt(int ind ...
- oracle数据库的拼接字符串,Oracle数据库拼接字符串
Ora-03113\Ora-03114与Oracle In 拼接字符串的问题 刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将 ...
- oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...
Oracle数据库中如何将字符串格式化为日期 可以用 to_date('日期类型字符串','要转化的日期类型')函数进行日期格式转换 sql:select to_date('1990-12-12 12 ...
- 数据库连接字符串 mysql_数据库连接字符串(MySQL,SQL Server,Oracle)
数据库连接字符串(在java中使用) =====MySQL===== String driverClass="com.mysql.jdbc.Driver; String url=" ...
- oracle 全局搜索字符串,oracle操作字符串:拼接、替换、截取、查找 _ 学编程-免费技术教程分享平台...
1.拼接字符串 1)可以使用"||"来拼接字符串 1 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 1 select c ...
最新文章
- Tcl学习之--列表|字典
- 宇通客车java_6米采血车
- kafka身份认证 maxwell_聊聊MaxwellKafkaProducer
- java匿名内部类举例和内部类举例
- mstem函数怎么定义_PYTHON--函数定义
- OpenCV字母识别letter recognition的实例(附完整代码)
- java创建变量的过程_java 对象的创建过程
- python 进程 线程 协程
- 借款条和还款条的写法(附模板)
- 【问】安装SQLserver2000 SP4补丁报错提示0*80070005.程序未能注册
- python 实现图片批量加入水印!
- charles安装证书并信任证书,仍然无法获取手机上的请求
- esp32 smtp发送邮件micropython
- 成套修炼,效果更佳---2007年的阅读计划
- 【调剂】2022年太原科技大学力学专业接收工学调剂生
- 大数据的价值是如何得以彰显的?
- 给51单片机初学者的建议
- 深度复盘手机三雄:苹果、小米、华为,为何5G最后留下的是华为?
- 无线智能调频广播技术的深度解析
- 安卓版身份证识别技术