欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ora-01722: 无效数目字

更新时间: 2014-01-05 02:12:58 责任编辑: Author_N1

 

ORA-01722: 无效数字
我这有个表A,以前可以这样查询:select * from A where m_no=1234
m_no的类型和精度VARCHAR2(20 BYTE),不是主键。
怎么现在只能select * from A where m_no='1234'这样查询了呢?必须加上单引号,否则报“ORA-01722: 无效数字”。突然就这样了。我试了,找了数据库里其他的表,几百万数据量(比该表大),该字段也不是主键,是可以不加引号查询的。又找了一个类似表,并且该字段是主键,不加引号也没问题呀。
上面都是用授权的账号在表前加用户名查询的,后来我把数据库导到我本机,用拥有者的帐号查询,还是一样的问题。
--参考方法--
你的表里面这个字段有非数字的值了,所以oracle自动转换失败!!!

create table tab_test
(
  aa    varchar2(20)
);

insert into tab_test values('1234');
insert into tab_test values('2345');
insert into tab_test values('3456');
commit;

select * from tab_test where aa = 1234;

insert into tab_test values('abcd');

select * from tab_test where aa = 1234;

drop table   tab_test;

--参考方法--
引用:
你的表里面这个字段有非数字的值了,所以oracle自动转换失败!!!

create table tab_test
(
  aa    varchar2(20)
);

insert into tab_test values('1234');
insert into tab_test values('2345');
insert into tab_test values('3456');
commit;

select * from tab_test where aa = 1234;

insert into tab_test values('abcd');

select * from tab_test where aa = 1234;

drop table   tab_test;


+1
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7087/
本文WWW.DOC100.NET DOC100.NET版权所有。