Oracle ORA-01722 无效数字
ORA-01722 无效数字
以下几种情况,数据库会报“ORA-01722 无效数字”错误:
① 对于两个类型不一致,一个“数字类型”,一个“非数字类型”进行赋值,或者比较操作;
② to_number()函数,括号中的输入的内容为非数字类型,比如‘a’、‘-1-1’。
针对这个函数,可以判断一个输入值是否是数字 。如果是数字,返回1,如果不是,返回0。判断数据输入的合法性时使用。
1 create or replace function "isnumeric"(p_str in varchar2) return int is 2 num number; 3 begin 4 num := to_number(p_str); 5 return 1; 6 exception 7 when others then 8 return 0; 9 end isnumeric;
ORA-02046 分布式事务处理已经开始