几点:
1、没有TO_INT这个函数。
2、Oracle绝对通系统的函数达不到你功能。
3、可以通过你自己写的存储过程来完成,这样加一个exception就可以完成了。如
 EXCEPTION
   when others then
     res:=0;
     return res;

解决方案 »

  1.   

    to_number也一样会出错DECODE是作什么的?怎么用呢?
      

  2.   

    我的表中有一个CODE字段,对应其他多张表中的CODE,而其他表中的CODE可能是字符型也有NUMBER型,其他表一个CODE对应一个NAME
    我希望在选出我这个表CODE字段时,一起将其他表中的NAME读出来SQL语句如下:
    Select HH,LH,CODE,TYPE,
    (Select I_NAME from W2_indct where I_CODE = TO_NUMBER(CODE)) I_NAME,
    (Select G_NAME from W4_GroupStat where G_CODE = CODE) G_NAME,
    (Select L_NAME from W5_LISTS where L_CODE = CODE) L_NAME,
    (Select SCALE From W12_BLCDB where W12_BLCDB.STAB_ID = W12F1_BLCOL.STAB_ID and W12_BLCDB.LH = W12F1_BLCOL.LH) SCALE
     from W12F1_Blcol where STAB_ID = 42 ORDER BY LH,HH
      

  3.   

    我写了一个函数或许对你有帮助:
     create or replace function checkchar(v_1 in varchar2) return number is
    leng  number;
    out   varchar2(255);
    OUT1  varchar2(255);
    ret   varchar2(1):='Y';begin
    if v_1 is not null then
      out:=trim(v_1);  
      leng:=length(out);
      for i in 1..leng loop
          OUT1:=SUBSTR(OUT,i,1) ;
          IF NOT(ASCII(OUT1)>=49 AND ASCII(OUT1)<=57) THEN
             RET:='N';
             EXIT;
          END IF;
      end loop;
    end if; IF RET='N' THEN 
     RETURN(0);
     ELSE
     RETURN(TO_NUMBER(OUT));
     END IF;
    end checkchar;
      

  4.   

    改成这样不行吗?
    Select I_NAME from W2_indct where to_char(I_CODE) = CODE
      

  5.   

    一下没想过来,呵呵
    谢谢beckhambobo(beckham)