Oracle REGEXP_SUBSTR 字符串分割为多列 Sql

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;

分割结果

数据库开发

Linux 自动备份 Oracle 数据库至阿里云 OSS Shell 脚本

2020-7-30 16:46:31

技术笔记

命令行创建 Android Keystore 、jks密钥文件

2020-8-21 11:49:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索