例如我的表中有一个字段叫VAL,其存储的数据如下
\000\000\999\00-1.jpg;$0-1.jpg;$0-2.jpg;$0-3.jpg;$0-4.jpg;$0-5.jpg;我要想提取';$'的出现次数,如何解决?超急,请各位大虾帮忙!谢谢

解决方案 »

  1.   

    写一个function,使用instr和substr函数。
      

  2.   

    create or replace function p1(str varchar2) return number is
    i number;
    l number;
    c number:=0;
    begin
    l:=length(str);
    for i in 1..l loop
    if(substr(str,i,1)='$') then 
    c:=c+1;
    end if;
    end loop;
    return c;
    end p1;
      

  3.   

    select length('\000\000\999\00-1.jpg;$0-1.jpg;$0-2.jpg;$0-3.jpg;$0-4.jpg;$0-5.jpg;') - 
    length(replace('\000\000\999\00-1.jpg;$0-1.jpg;$0-2.jpg;$0-3.jpg;$0-4.jpg;$0-5.jpg;','$',''))
    from dual