当前位置: 代码迷 >> SQL >> PL/SQL开发时,错误“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)
  详细解决方案

PL/SQL开发时,错误“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)

热度:130   发布时间:2016-05-05 13:48:54.0
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)

如果是字符型的列,在记录中存在非数值的值,那么在隐转换的时候就会报错
SQL> create table t (id varchar2(10));

表已创建。

SQL> insert into t values('aaa');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 1111;
select * from t where id = 1111
*
ERROR 位于第 1 行:
ORA-01722: 无效数字


SQL> insert into t values('11111111');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 111;
select * from t where id = 111
*
ERROR 位于第 1 行:
ORA-01722: 无效数字


SQL> delete from t where id = 'aaa';

已删除 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 111;

未选定行

SQL>

  相关解决方案