zoukankan      html  css  js  c++  java
  • 将有逗号的字符串拆解

    REGEXP_SUBSTR函数格式如下:

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

    __srcstr     :需要进行正则处理的字符串

    __pattern    :进行匹配的正则表达式

    __position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)

    __occurrence :标识第几个匹配组,默认为1

    __modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)

    1、查询使用正则分割后的第一个值,也就是17

    [sql] 

    SELECT REGEXP_SUBSTR('17,20,23','[^,]+',1,1,'i') AS STR FROM DUAL;  

    结果:  17  

    2、查询使用正则分割后的最后一个值,也就是23

    [sql]

    SELECT REGEXP_SUBSTR('17,20,23','[^,]+',1,3,'i') AS STR FROM DUAL;  

    结果:  23

    3、获取一个多个数值的列,从而能够让结果以多行的形式展示出来

    [sql] 

    SELECT LEVEL FROM DUAL CONNECT BY LEVEL <=7;  

    结果:  

    --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;  

    结果:

    -- 17

    --20

    --23

    --NULL

    --NULL

    --NULL

    --NULL  

    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

  • 相关阅读:
    移动端浏览器有哪些,内核分别是什么
    html5定位获取当前位置并在百度地图上显示
    HTML5实现获取地理位置信息并定位功能
    使用VUE开发
    Node 操作MySql数据库
    移动端布局必须注意的问题3
    移动端布局必须注意的问题2
    移动端布局必须注意的问题
    rem和em的用法
    关于圣杯、双飞翼布局
  • 原文地址:https://www.cnblogs.com/yhoralce/p/9684077.html
Copyright © 2011-2022 走看看