oracle逗号隔开行转列_Oracle行转列函数
Oracle行转列函数
1 需求
在实际开发中,行转列函数可以把列值以逗号分隔起来,并显示成一行。现要求利用一条sql语句获得表emp中所有员工姓名,且要求在前台页面中作为一个字符串出现,在这个字符串中员工之间的姓名用逗号分隔开。
2 程序
create or replace function row2col(sqlString varchar2) return varchar2 as
begin
declare type cu_type is ref cursor;
cur_name cu_type;
tmp_name varchar2(20);
names varchar2(500);
begin
open cur_name for sqlString;
fetch cur_name into tmp_name;
while cur_name%found loop
names := names || tmp_name || ',';
fetch cur_name into tmp_name;
end loop;
return rtrim(names, ',');
end;
end row2col;
/
3 调用
select row2col('select ename from emp') result from dual;
这里result即为内查询得到临时表的别名,也可以去掉
select row2col('select ename from emp') from dual;
4 执行结果
RESULT
--------------------------------------------------------------------------------
SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MIL
LER
5 注意
参数sqlString必须是一个返回单列的SQL语句,否则,此函数将抛出错误。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1248678/,如需转载,请注明出处,否则将追究法律责任。
oracle逗号隔开行转列_Oracle行转列函数相关推荐
- mysql 交叉表行转列_Oracle行转列、列转行的Sql语句总结
多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code selectconcat(id,username)strfromapp_user selectid||usernames ...
- oracle逗号隔开行转列_oralce逗号分割变多行 Oracle中REGEXP_SUBSTR函数
Oracle中REGEXP_SUBSTR函数 Oracle 中REGEXP_SUBSTR函数的使用说明: 题目如下:在 oracle 中,使用一条语句实现将'17,20,23'拆分成'17','20' ...
- oracle逗号隔开行转列_oralce逗号分割变多行-Oracle
oralce逗号分割变多行 方法一 select a.* , REGEXP_SUBSTR(a.rolecode ,'[^,]+',1,l) AS rolecode from p_user a,(S ...
- oracle unpivot 索引_Oracle 行转列pivot 、列转行unpivot 的Sql语句总结
这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from ap ...
- 行转列逗号隔开逗号隔开列转行
ORACLE: SQL> create table t(id int,name varchar2(30));表已创建.SQL> insert into t values(1,'a');已创 ...
- oracle 动态sql列转行_Oracle 行转列 动态出转换的列
10月的第二天,前天写了个Oracle中行转列的pivot的基本使用方法,然后,因为pivot的用法中,正常情况下,我们需要转出多少个列,都得在我们的sql中完完整整地写出,而不能直接在里面写个查询来 ...
- oracle列转行用逗号隔开,Oracle逗号分隔列转行实现方法
Oracle逗号分隔列转行实现方法 那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号.如果使用like去做,一则效率不高,二 ...
- oracle 行级死锁_ORACLE死锁的分类
ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive ...
- oracle数据库行转化成列,ORACLE行转列(行转一列,行转多列)
--listagg(合并多行的值为字符串,只用一列来显示) select status, count(*), listagg(risk_id, ',') within group (order by ...
最新文章
- maven工程指定web资源包,创建jsp文件
- Docker用Dockerfile定制镜像
- 徐教授的对于商业模式创新的讲座!十分有用!
- windows运行对话框_如何在Windows运行对话框中添加文本快捷方式?
- char 与 String 相等比较
- 【开源】本周不容错过开源论文,含分割、检索、神经渲染、deepfake 检测、超分、视频相关等...
- Python之路【第三篇】:Python基础(二)
- 百度APP月活跃用户达5.6亿,日登录用户占比超75%
- Android 开机自启动应用
- 高中计算机教学设计案例分析,高一年级信息技术教学设计(案例)
- 决策树算法与python——心脏病预测
- 解决 错误: 在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类
- RabbitMQ消息确认机制-可靠抵达
- vi 常用复制与粘帖技巧
- vite以及webpack(@vue/cli 5.x) vue3 alias别名配置
- Ubuntu11.10无法打开softer center(软件中心)和language support的解决
- 如何买入期货合约(如何买入期货合约交易)
- 编译DPC++ Compiler(支持Nvidia显卡)
- 【技术三千问】之《modbus问题难点解析》,避坑指南!
- 计世传媒集团中国CIO高峰论坛:“智变·创变”中的未来,CIO不只是CIO
热门文章
- 余额宝操盘手:互联网思维推倒一切
- react页面引导组件, 支持语音播报
- Springboot整合Elasticsearch搜索引擎+vue页面
- B-spline Curves 学习之B样条基函数的定义与性质(2)
- Beta分布及其应用
- java数组如何赋值_java数组如何赋值
- python红包程序_Python写随机发红包的原理流程
- lfu算法实现c语言_Redis中的LFU算法
- SqlServer2005数据库紧急恢复案例
- 用MySQL绘制新年祝福图形_2017微信拜年图片-2017微信拜年动态表情图片高清完整版-东坡下载...