复制代码 现在,我们想要将data字段中的逗号分隔的数据拆分成多行数据,可以使用如下SQL语句: SELECT id, REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) AS split_data FROM test_table CONNECT BY REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) IS NOT NULL AND PRIOR id = id AND PRIOR DBMS_RANDOM.VALUE ...
【Oracle】列拆行/对多行数据的单行数据进行分割并多行显示 参考链接:Oracle 一行字符串拆分为多行_oracle一行拆分成多行-CSDN博客 背景:要对一个表的字段的内容进行分割,分隔符都是指定的 原数据: '1','2','3','4' '5','6','7','8' 新数据(按照逗号分割): '1' '2' '3' '4' '5' '6' ...
为了确定有多少个需要提取的字段,需要用到connect by命令实现动态参数构造连续的值,通过原字符串长度和被替换后字符串长度相减,可以得到原字符串中的逗号数量,加1后得到需要提取的匹配字段数量。 SQL: select bs from cs1_0 where slid=’201804100038′ –正则分割后的第一个值 SELECT REGEXP_SUBSTR((select bs ...
在Oracle数据库中,有时会遇到一个字段中存储了用逗号分隔的多个值,需要将这些值拆分成多行数据,以便进行进一步的分析或处理。 2. 选择或编写适合的Oracle SQL函数或过程来实现逗号拆分 为了实现逗号拆分,我们可以使用REGEXP_SUBSTR函数来提取每个逗号分隔的值,并使用CONNECT BY LEVEL语句来生成多行数据。 3. 准备包...
业务:把nums按逗号拆分为多行。 REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier) __srcstr :需要进行正则处理的字符串 __pattern :进行匹配的正则表达式 __position :起始位置,从第几个字符开始正则表达式匹配(默认为1) ...
需求是表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询。 数据是这样的: 查询的sql如下: select * from ( select guid, regexp_substr(st_responsible, ‘[^,]+‘, 1, level) responsible from tt_cancle_responsible connect by level <= regexp_...
今天遇到个需求,要匹配两个表, 但是关联的字段,在另一个表中是放在一个字段中用分号分割的 怎么全部匹配呢? 后来在网上搜到了, 记录下 SELECT cp.ES_EXTNUMBER, cp.ES_AGENTID, cp.ES_CHSTATESTR, (sysdate-cp.ES_STARTDATETIME)*24*3600 es_times, ...
2.遇到的问题:原始表经纬度是一个字段保存,比如xy列中某行值为“130.111111,33.999999”。 3.解决的方法:通过xy列中’,‘逗号并使用函数substr()和函数instr() 处理后效果图和SQL示例如下 SELECT substr(t.xy, 1, instr(t.xy, ',')-1) x,
上代码上图 select length('张三,李四,王五,赵六')-length(replace('张三,李四,王五,赵六',','))+1 from dual;
oracle数据库表中,如果某字段中的数据由逗号(',')分隔保存,可采用下面的sql语句,将数据分为多行 SELECT distinct REGEXP_SUBSTR(t.fk_id, '[^,]+', 1, level) fkId, t.* from t_table t connect by level <= regexp_count(t.fk_id, ',') + 1...