1 是开始搜索的位置。 LEVEL 是一个伪列,表示递归的层级。 CONNECT BY 子句用于生成层级,LEVEL 从1开始递增,直到REGEXP_SUBSTR返回NULL。 执行上述SQL语句后,你会得到以下结果: text fruit --- apple banana cherry date 这样,你就成功地使用REGEXP_SUBSTR函数将字符串拆分为多个部分了。
需要返回多行,可以采用oracle的connect by 命令,行数的获得通过length来获得。 select regexp_substr(‘2001,2002,200103,2005’, ‘[^,]+’, 1, level, ‘i’) as str from dual connect by level <= length(‘2001,2002,200103,2005’) - length(regexp_replace(‘2001,2002,200103,2005’, ‘,’,...
5、优化上面的SQL语句,让生成的行的数量符合实际情况 [sql] SELECT REGEXP_SUBSTR('17,20,23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL CONNECT BY LEVEL <= LENGTH('17,20,23') - LENGTH(REGEXP_REPLACE('17,20,23', ',', ''))+1; 结果: --17 --20 --23...
代码语言:sql AI代码解释 SELECTregexp_substr(temp.STUDENT,'[^,]+',1,LEVEL)ASSTUDENT,regexp_substr(temp.SUBJECT,'[^,]+',1,LEVEL)ASSUBJECT,regexp_substr(temp.SCORT,'[^,]+',1,LEVEL)ASSCORTFROM(SELECT'Student001,Student001,Student002,Student002,Student003'ASSTUDENT,'CHINESE,ENGLISH,CHINESE,...
LEVEL --- 1 2 3 4 5 6 7 4、将上面REGEXP_SUBSTR的occurrence关联 [sql] SELECT NVL(REGEXP_SUBSTR('17,20,23', '[^,]+', 1, LEVEL, 'i'), 'NULLL') AS STR FROM DUAL CONNECT BY LEVEL <= 7; STR www.2cto.com --- 17 ...
问REGEXP_SUBSTR(聚合器,'[^;]+',1,LEVEL)的oracle查询速度慢EN为了提高开发者的易用性,Rafy ...
第一种是获取需要截取出来的数组有多少,使用函数regexp_count SELECTREGEXP_SUBSTR('11a22A33a','[^A]+',1,level,'i')ASSTRFROMDUALconnectbylevel<=regexp_count('11a22A33a','[^A]+'); 第二种是按照截取的信息再次截取并且增加判断 SELECTREGEXP_SUBSTR('11a22A33a','[^A]+',1,level,'i')ASST...
SELECTregexp_substr('This is a regexp_substr demo','[[:alpha:]]+',1,LEVEL) regexp_substrFROMdualCONNECTBYLEVEL<= regexp_count('This is a regexp_substr demo',' ') +1;Code language:SQL (Structured Query Language)(sql) Note that the total of match occurrences is calculated by countin...
Oracle中的regexp_substr函数可以用于提取字符串中符合指定模式的子串,常用于复杂查询中对字符串的处理。以下是regexp_substr函数在复杂查询中的使用技巧:1. 提取字符串中...
2)在oracle中rownum和level都是自动生成数字序列集合,结合connect by使用 selectDISTINCT regexp_substr('A,B,C,D,E,F','[^,]+',1,level)fromDUAL connect by level<= length('A,B,C,D,E,F') - length(replace('A,B,C,D,E,F',',','')) +1;selectDISTINCT regexp_substr('A,B,C,D,E...