Quantcast
Channel: 数据库开发 –一人夕
Viewing all articles
Browse latest Browse all 8

Oracle REGEXP_SUBSTR 字符串分割为多列 Sql

$
0
0
隐藏内容,您需要满足以下条件方可查看
End

sql 中将原有的字符串类型的字段进行分割,作为 IN 形式进行查询,但是直接 IN(字符串字段),它会提示报错,是个错误的语法
所以我们将字符串字段进行分割为多列,再进行 IN 即可。

分割 REGEXP_SUBSTR 参数说明,

  1. 参数1:待分割字符串
  2. 参数2:正则表达式
  3. 参数3:起始位置,从第几个字符开始正则表达式匹配(默认为1)
  4. 参数4:标识第几个匹配组,默认为1
  5. 参数5:模式(’i’不区分大小写进行检索;’c’区分大小写进行检索。默认为’c’。)
SELECT REGEXP_SUBSTR('i,z,p,a,n', '[^,]+', 1, LEVEL, 'i') AS STR
FROM DUAL
CONNECT BY LEVEL <= LENGTH('i,z,p,a,n') - LENGTH(REGEXP_REPLACE('i,z,p,a,n', ',', '')) + 1;

分割结果


Viewing all articles
Browse latest Browse all 8

Latest Images

Trending Articles



Latest Images