那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号。如果使用like去做,一则效率不高,二则匹配不精确。因此用到了逗号分隔列转行的方法。目前该方法只适合在oracle数据库中使用。该方法只需要sql语句就可以实现列转行。

下面给出该方法的示例:

select a,b,c from

(with test as (select 'aaa' a,'bbb' b,'1,2,3' c from dual)

select a,substr(t.ca,instr(t.ca,',1,c.lv) + 1,c.lv + 1) - (instr(t.ca,c.lv) + 1)) AS c

from (select a,' || c || ',' AS ca,length(c || ',') - nvl(length(REPLACE(c,')),0) AS cnt FROM test) t,

(select LEVEL lv from dual CONNECT BY LEVEL <= 100) c where c.lv <= t.cnt )

执行以上代码,结果如下图:

模拟数据列 c 中的内容“1,3”被转成了三行,前面两列的内容同时附带过去。在实际运用时,只要把

select 'aaa' a,3' c from dual 替换成实际需要转换的数据表中的字段即可,其中c字段必须是要进行转换的保存逗号分隔内容的字段。下面的内容都可以不需要更改。其中“LEVEL <= 100”中的数字100代表匹配字段内容中出现逗号的次数,可以自行更改。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle行转列逗号分隔,Oracle逗号分隔列转行实现方法相关推荐

  1. oracle行的唯一标识符,Oracle 10g SELECT 语句

    对单表执行SELECT语句 SELECT customer_id, first_name, last_name, phone FROM customers; unix 选择一个表中的所有列SELECT ...

  2. oracle 行内容合并,[转]Oracle 多行的数据合并

    Oracle合并行范例 现有如下数据 id name 1 a1 2 a2 3 a3 1 b1 3 b3 1 c1 就是把相同的id的不同行合并 结果是 id name 1 a1/b1/c1 2 a2 ...

  3. oracle行级的触发器,Oracle触发器Trigger2行级

    create table trigger_t2( id int, name varchar(30), age int ); /* --创建一个before update的触发器-控制每一行,行级 -- ...

  4. oracle行锁 查询等待,Oracle 的for update行锁语法

    SELECT...FOR UPDATE 语句的语法如下: SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中: ...

  5. oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数

    我得到这个错误我不知道是什么错了. "宣布 * 第1行出错 ORA-01422:精确提取返回超过请求的行数 ORA-06512:在第11行" 这是我的代码 DECLARE rec_ ...

  6. oracle列转行用逗号隔开,Oracle逗号分隔列转行实现方法

    Oracle逗号分隔列转行实现方法 那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号.如果使用like去做,一则效率不高,二 ...

  7. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 [sql] view plaincopy print? select concat(id,username) str from app_u ...

  8. Oracle行转列、列转行的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 ? 1 2 3 select concat(id,username) str from app_user select id||usern ...

  9. oracle 行转列后列名,Oracle 多行转多列,列值转为列名

    前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要导出问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人 然后最终自己写出来了 ...

最新文章

  1. FreeMarker标签介绍
  2. SQL操作的组成部分-数据控制
  3. 大学计算机测试试题,大学计算机基础 excel测试题 求答案~~喵~~
  4. 21年编程,那些我踩过的坑!
  5. java.util.vector中的vector的详细用法
  6. api token 什么意思_还分不清 Cookie、Session、Token、JWT?
  7. 嵌入式Linux入门10:编译管理Makefile
  8. 加拿大上市矿企Bitfarms完成第二笔1500万美元普通股私人认购
  9. python3的包(package)在centos中的安装地址
  10. Ajax之搭建一个基本的Ajax框架(技术分析篇)
  11. vnpy 查询持仓量_Vnpy 中增加TD指标计算及BOLL指标的运行情况
  12. oracle求和函数的写法,Oracle over函数的学习笔记三 求和函数的使用
  13. 小程序二维码和带参数的二维码生成
  14. 综述:基于深度学习的文本分类 --《Deep Learning Based Text Classification: A Comprehensive Review》总结(二)
  15. Flutter开发之——getX-路由管理(04)
  16. 影像组学工作站:医学影像组学中多模态的任务类型
  17. Python--异常处理笔记
  18. python随机生成英文字符串_如何用Python语言生成随机字符串 | 学步园
  19. 整理的apollo 入门课程
  20. 12 个好用且不花钱的网络监控工具

热门文章

  1. 解锁实盘交易,打通量化系统交易环节!股票量化分析工具QTYX-V2.3.9
  2. 蓝牙耳机推荐:盘点口碑比较好的五款国产蓝牙耳机
  3. 机器学习算法(四)逻辑回归理论与python实现+经典示例(从疝气病预测病马的死亡率)
  4. 基于总线技术的武器装备测试系统
  5. 简单介绍一下SqlSession,及四大对象
  6. 联想小新pro16休眠后无线网卡启用不了解决方法
  7. 基于 HTML5 WebGL 的计量站三维可视化监控系统 Web 组态工控应用
  8. 修改datagridView单元格颜色(行颜色,列颜色)
  9. windows10安装exe提示“管理员已阻止你运行此程序”,导致无法安装问题的解决办法
  10. opencv二值化处理