zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    使用Java实现对MySql数据库的导入与导出
    【转】揭开J2EE集群的神秘面纱
    Memcached深度分析
    HSQL入门及使用指南
    系统架构基础篇(高性能基础建设说明与选型条件)
    架构之美 摘抄
    JMS规范及相关实现
    spring3中使用@value注解获取属性值
    Thread Dump 分析综述
    什么中间件及中间件服务器?
  • 原文地址:https://www.cnblogs.com/noneycn/p/9150763.html
Copyright © 2011-2022 走看看