Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

 更新时间:2019年05月23日 15:58:20   作者:潜水大忽悠  
这篇文章主要介绍了Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

REGEXP_SUBSTR函数格式如下:

function REGEXP_SUBSTR(string, pattern, position, occurrence, modifier) 

string :需要进行正则处理的字符串
pattern :进行匹配的正则表达式
position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
occurrence :标识第几个匹配组,默认为1
modifier :模式(‘i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c')

SELECT REGEXP_SUBSTR('123,,,ABC,!@#,,,', '[^,]+') FROM DUAL ;

取分割后的第一个值

结果:123

SELECT REGEXP_SUBSTR('123,,,ABC,!@#,,,', '[^,]+', 2) FROM DUAL ;

从第二个字符开始匹配,取分割后的第一个值

结果:23

SELECT REGEXP_SUBSTR('123,,,ABC,!@#,,,', '[^,]+', 1, 2) FROM DUAL ;

取分割后的第二个值

结果:ABC

SELECT REGEXP_SUBSTR('123,,,ABaC,!@#,,,', '[^a]+', 1, 2, 'i') FROM DUAL ;

不区分大小写分割后的第二个值

结果:B

SELECT REGEXP_SUBSTR('123,,,ABaC,!@#,,,', '[^a]+', 1, 2, 'c') FROM DUAL ;

区分大小写分割后的第二个值

结果:C,!@#,,,

SELECT REGEXP_SUBSTR('123,,,ABC,!@#,,,', '[^,]+', 1, LEVEL) 
FROM DUAL 
CONNECT BY REGEXP_SUBSTR('123,,,ABC,!@#,,,', '[^,]+', 1, LEVEL) IS NOT NULL;

取分割后的所有结果 ( level  oracle关键字,表示查询深度,用来实现层级查询)

结果:

123
ABC
!@#

总结

以上所述是小编给大家介绍的Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 深入浅析Oracle数据库管理之创建和删除数据库

    深入浅析Oracle数据库管理之创建和删除数据库

    本篇文章给大家介绍oracle数据库管理之创建和删除数据库,本文从数据库管理概述、数据库管理方法、数据库的准则、使用dbca创建数据库、使用dbca删除数据库等五大方面展开话题,需要的朋友一起学习吧
    2015-10-10
  • Oracle 18c新特性-PDB快照轮播(Snapshot Carousel)

    Oracle 18c新特性-PDB快照轮播(Snapshot Carousel)

    Oracle 18c推出的一个新功能就是PDB快照轮播,最多可以创建8个pdb的快照,而这8个构成的一组快照就被称作快照轮播。这篇文章主要介绍了Oracle 18c新特性-PDB快照轮播(Snapshot Carousel),需要的朋友可以参考下
    2018-10-10
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法,需要的朋友可以参考一下
    2013-03-03
  • Oracle中is和as的区别和使用

    Oracle中is和as的区别和使用

    在Oracle数据库中,AS和IS是两个常用的关键字,它们分别表示“命名别名”和“判断是否相同”,AS和IS的主要区别在于它们的功能,AS是一种授权服务,它负责授予和管理用户访问数据库特定对象和操作的权限,IS则是一种身份验证服务,它负责管理用户的身份和访问权限
    2024-01-01
  • Oracle中Union与Union All的区别(适用多个数据库)

    Oracle中Union与Union All的区别(适用多个数据库)

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来
    2012-07-07
  • 简单三步轻松实现ORACLE字段自增

    简单三步轻松实现ORACLE字段自增

    第一步:创建一个表、第二步:创建一个自增序列以此提供调用函数、第三步:我们通过创建一个触发器,使调用的方式更加简单
    2013-11-11
  • oracle数据库超全的多表查询连接

    oracle数据库超全的多表查询连接

    这篇文章主要给大家介绍了关于oracle数据库超全的多表查询连接的相关资料,多表连接查询实际上是通过各个表之间公共字段的关键性来查询数据的,它是关系数据库查询的最主要的特征,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Oracle中update和select 关联操作

    Oracle中update和select 关联操作

    本文主要向大家介绍了Oracle数据库之oracle update set select from 关联更新,通过具体的内容向大家展现,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • oracle11g 最终版本11.2.0.4安装详细过程介绍

    oracle11g 最终版本11.2.0.4安装详细过程介绍

    这篇文章主要介绍了oracle11g 最终版本11.2.0.4安装详细过程介绍,详细的介绍了每个安装步骤,有兴趣的可以了解一下。
    2017-03-03
  • oracle求字符串长度函数length()和hengthb()简介

    oracle求字符串长度函数length()和hengthb()简介

    这篇文章主要介绍了Oracle求字符串长度函数length()和hengthb()简介,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09

最新评论