create function get_int(p_num in number)
return varchar2
as
begin
if instr(to_char(p_num),'.')>0 then
return 'n';
end if;
return 'y';
end;
/
return varchar2
as
begin
if instr(to_char(p_num),'.')>0 then
return 'n';
end if;
return 'y';
end;
/
-----------------------------------------------------------
create or replace function ISINTEGER(p_int VARCHAR2) return boolean is
Result boolean;
v_int Integer;
v_position Integer;
begin
v_position := INSTR (p_int, '.');
if v_position <> 0 then
return(false);
end if; v_int := To_number(p_int);
return(true);exception
when others then
return(false);
end ISINTEGER;
/
-----------------------------------------------------------
如果参数类型是VARCHAR2型的话,如果调用的时候,给的数是NUMBER类型的话;INSTR返回的也总是0。
问题还是没有解决
。。