oracle 将列拆分为行
来源:互联网 发布:php授权验证系统v2.1 编辑:程序博客网 时间:2024/05/19 03:44
如上图所示,其中 USERIDS 字段是多个ID组合的字符,
现在有个需求,就是将USERIDS 中每个单独的id 列出来对应一个单独的NAME,即每个NAME对应单独的USERID
考虑到 USERIDS 是逗号分隔符 分隔的,所以我们采用oracle 中的正则表达式函数分隔 。regexp_substr
oracle 逛网介绍详细地址为
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions131.htm
REGEXP_SUBSTR函数格式如下:
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr :需要进行正则处理的字符串
__pattern :进行匹配的正则表达式
__position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
具体做法如下:
SELECT e.name role_name,
REGEXP_SUBSTR(e.userids, '[^,]+', 1, level, 'i') AS user_id
FROM t_dm_role e
CONNECT BY LEVEL <= regexp_count(e.userids, ',') - 1
and e.name = prior e.name
and rowid = prior rowid
and prior dbms_random.value is not null;
效果如下
1 0
- oracle 将列拆分为行
- Python split() 函数 拆分字符串 将字符串转化为列
- Python split() 函数 拆分字符串 将字符串转化为列
- Python split() 函数 拆分字符串 将字符串转化为列
- Oracle列字符拆分
- 一列拆分为多列
- 一列拆分为多列
- Oracle 数据列值拆分
- Kettle6列拆分为多行步骤详解
- 拆分以分隔符分割的单列为多列(行拆分)
- 将字符串拆分为数组
- oracle列转换为行
- oracle列转换为行
- sql--一列拆分为多列
- excel一列数据拆分为两列
- Oracle不允许将null列继续修改为null
- oracle将表的列名显示为一行
- sql如何将列转化为行
- 《java编程思想》读书笔记
- java-Calendar类
- 流水灯程序总结:关于Crol和cror的用法
- 左右轮播图-酷炫
- Mac OS objectc关于代码模拟键盘输入
- oracle 将列拆分为行
- Hdu2524
- 透彻 Linux (Unix) 五种 IO 模型
- hdu ACM steps 1.2.6 hdu3361
- QT5 样式表无效问题
- C#滚动条的使用
- 微信APP支付
- sql游标
- 堆和栈的区别(转过无数次的文章)