我定义的函数如下:create function fun1
return numeric
as
inrt numeric(9,7);
begin
   inrt := 9.345;
   return inrt;
end;我想要的结果是 9.345 为什么老返回整数9 ,如何解决???

解决方案 »

  1.   


    declare
    inrt numeric(9,7);
    begin
       inrt := 9.345;
       dbms_output.put_line(inrt);
    end;
    --
    9.345
    没问题啊
      

  2.   

    declare
    inrt numeric(9,7);
    aa numeric;
    begin
       inrt := 9.345;
       aa:=inrt;
       dbms_output.put_line(inrt);
       dbms_output.put_line(aa);
    end;--
    9.345
    9
    --应该是类型转换的问题
      

  3.   

    declare
    inrt numeric(9,7);
    aa number;   --这样的结果就是符合要求的
    begin
       inrt := 9.345;
       aa:=inrt;
       dbms_output.put_line(inrt);
       dbms_output.put_line(aa);
    end;
      

  4.   

    各位高手,我的目的是想使函数的返回值是一个 numeric(9,7) 型
    在函数内部运行没问题,但返回出来的值就成一个整型了,
    请各位帮下忙!!!
      

  5.   

    返回类型换下   RETURN NUMERIC 换成 RETURN NUMBER
      

  6.   

    create function fun1
    return number
    as
    inrt numeric(9,7);
    begin
       inrt := 9.345;
       return inrt;
    end;--这样应该可以的
    return numeric时 把numeric(9,7)转换成了numeric
      

  7.   

    在函数内部运行没问题,但返回出来的值就成一个整型了,
    请各位帮下忙!!!
    --问题就出在返回质的类型上阿
    返回时把numeric(9,7)转换成了numeric
      

  8.   

    哈哈 icedut(冰) 你已经到一星了呀 祝贺下 努力终归是有回报的