在做报表系统的过程中,遇到了一个很有意思的问题,就是Oracle报了一个错java.sql.SQLException:ORA-01722:无效数字,正常来说,报该错就意味着数据类型不匹配,但是因为同一sql语句,多加了一个条件,就查出结果,不...
to_number函数中的值,非数字的,比如,to_number('a')肯定是不行的,to_number('12306')则是正常的。要避免这些问题,要做到在写sql语句时就好认真处理好不同类型的问题。比如如果要比较的话,同时都用to_number强制转...
TRUNC没法处理字符串,只能处理时间和数字,建议用substr截取字符串吧substr(string1,1,2)string1需要截取的字符串1表示起始位置2表示截取长度按理说TO_CHAR(hiredate,'year')就能直接用了,或者用TO_CHAR(hir...
第二条语句没有指定HAMDSNisnull,所以没有问题第三条语句虽然指定了HAMDSNisnull,但面的表和外面的表没有关系,所以也没有问题注:sql语句如果没有特指的话后面的where会自动过滤掉了null(因为默认...
你看一下,billion应该有非数字的内容转成字符进行比较select*fromA,Bwhereto_char(A.CourseNum)=B.billon;
ORA-01722:无效数字的解决方法:http://virgoooos.iteye.com/blog/578974不知道对你是否有所帮助。
select*fromuserwhereuser_idin(selectfieldfromtable_awhereid=1);因为你的field和user_id类型不一致你试试下面的可以不select*fromuserwhereuser_idin'('+(selectfieldfromtable...
selectsubstr('0240/00',INSTR('0240/00','/',1,3)+1,100)fromdual你把上边这个执行一次,结果就是0240/00关键你那个除数应该是什么,你自己也没说明,所以不知怎么给你改...
TO_CHAR改为TO_DATE就OK了。
idStrvarchar2(1000);--text