zoukankan      html  css  js  c++  java
  • Oracle字符串分割函数

    今天在创建视图的时候,碰到一个问题,问题如下:

      将字符格式为“XXX,YYY”分割出来,并且分割后作为两个字段放入视图中。

    考虑使用字符分割函数,但是查找资料Oracle没有字符分割的函数(我对Oracle不熟悉)。

    最后决定自己写个函数处理,函数的SQL如下:

    create or replace function FUN_SPLITSTR(str varchar2,splitchart varchar2,num number) return varchar2 is
    begin
      declare o1 number:=0;
              o2 number:=0;
              rt varchar2(100):='';
     begin
       if instr(str,splitchart,1,1)=0 and num=1 then
         return(str);
       end if;

       if instr(str,splitchart,1,1)=0 and num>1 then
         return(rt);
       end if;
       if(num=1) then
         o1:=instr(str,splitchart,1,num);
         if o1>0 then
           rt:=substr(str,1,o1-1);
         else
           rt:=str;
         end if;  
       else
         o1:=instr(str,splitchart,1,num-1);
         o2:=instr(str,splitchart,1,num);
         if o1>0 and o2=0 then
           rt:=substr(str,o1+1,length(str)-o1);
         else
           rt:=substr(str,o1+1,o2-o1-1);
         end if;
       end if;
     return (rt);
     end;
    end FUN_SPLITSTR;

  • 相关阅读:
    [CF149D] Coloring Brackets(区间dp)
    [CF1437E] Make It Increasing(LIS)
    洛谷试题之跳石头
    【模板】深搜和广搜
    高精度阶乘
    【模板】拓扑排序
    【模板】最小生成树——Kruskal算法
    判断素数的方法
    高精度乘法
    高精度加法
  • 原文地址:https://www.cnblogs.com/lgx040605112/p/3445515.html
Copyright © 2011-2022 走看看