• Oracle 截取字符串(截取固定分隔符中间的字符


    #### Oracle 截取字符串(截取固定分隔符中间的字符) ####

    ####  oracle 取固定分隔符之间的字符
    --方法一 substr+ instr
    SELECT  substr('12JPX#4806(JP)',instr('12JPX#4806(JP)','#')+1,(instr('12JPX#4806(JP)','('))-(instr('12JPX#4806(JP)','#')+1) ) FROM dual
    结果 4806

    --方法二 正则表达式

    SELECT REGEXP_SUBSTR(REGEXP_SUBSTR('12JPX#4806(JP)','[^#]+',1,2,'i'),'[^(]+',1,1,'i')  FROM DUAL;
    结果   4806
    注意!!!! : 如果首个符号为第一个时,  

    #### 取字段包含A-Z的正则表达式用法

    select *  from gaa_file t  where regexp_like(t.gaa02,'^[A-Z]');


    #### 4GL 截取字符串(截取固定分隔符中间的字符) ####
    ####利用while循环取出一个包含多个'x'的字符串,最后一个'x'后面的字符 ####

    搞个while循环取出来
      WHILE TRUE
         IF guige.getIndexOf("x",1) THEN
            LET guige = guige.substring(guige.getIndexOf("x",1)+1, guige.getLength())
         ELSE
            EXIT WHILE
         END IF
      END WHILE


    #### 取得固定分隔符前面的字符串... ####

    方法一:
     LET len_str = length(str1)
            LET index1 = 0
            LET str_ret=str1
            WHILE index1<len_str
                LET index1=index1+1
                IF str1[index1,index1]=p_flag THEN
                    LET str_ret=str1[1,index-1]
                    EXIT WHILE
                END IF
            END WHILE

    方法二:
    FOR i=1 TO length(xxxx) STEP +1
       LET temp = xxx[1,i]
       IF temp LIKE '*/' THEN
           RETURN temp[1,i-1]
       END IF
    END FOR

    #### 4gl截取字符串进行判断  ####
       FOR li_i = pi_start TO pi_end
           LET ls_chk_chr = ps_source.getCharAt(li_i)
           IF ls_chk_chr NOT MATCHES "[0-9a-zA-Z]" THEN
              LET li_result = FALSE
              EXIT FOR
           END IF
       END FOR

    ####以固定符号取出字符串中的内容(这里以'&'作为范例)####

    DEFINE  l_tok       base.stringTokenizer      #080121
    DEFINE  l_str       LIKE type_file.chr1000
    DEFINE  l_str1      LIKE type_file.chr1000
        LET l_str ="abasf&asdfa&asfa"
        IF NOT cl_null(l_str) THEN
           LET l_tok = base.StringTokenizer.create(l_str,"&")
           WHILE l_tok.hasMoreTokens()
              LET l_str1 = l_tok.nextToken()
           END WHILE
        END IF

    ####以固定符号取出字符串中的内容(这里以'&'作为范例)####

  • 相关阅读:
    springmvc跨域+token验证(app后台框架搭建二)
    JSON Web Tokens(JWT)
    spring4+springmvc+mybatis基本框架(app后台框架搭建一)
    [原创] zabbix学习之旅一:源码安装
    ROC 曲线和 AUC 值
    win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决
    CentOS系统安装配置mysql
    Loaded plugins: fastestmirror, refresh-packagekit, security
    求LCA最近公共祖先的离线Tarjan算法_C++
    求LCA最近公共祖先的在线ST算法_C++
  • 原文地址:https://www.cnblogs.com/noneycn/p/9150763.html
Copyright © 2020-2023  润新知