Oracle ORA-01722: 无效数字 处理方法】的更多相关文章

类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字…
SQL语句里面,看看有没有字符串的,没加单引号. 后面经查,发现有字段对比时候,一个是字符串,一个是数值型,使用了ORACLE隐式转换,字符串里面有包含非数字型的,所以导致报错…
C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringBuilder strSql = new StringBuilder();object returnOValue = null;strSql.Append("update CRM_CONTACTS_RESOURCE set ");strSql.Append("RESOURCE_NA…
原因: 每一行物理数据最后都存在一个换行符. 如果integer或者number类型的字段位于控制文件的最后,最后其实都会有CR/LF的换行符,在用sqlldr导入时会把换行符也算作那个数字的一部分,使得对应的导入ORDERADV_TK 的值与ORDERADV_TK在数据库中定义的NUMBER类型不匹配,从而出错. 解决办法: 在该列后面追加“INTEGER EXTERNAL TERMINATED BY WHITESPACE”.…
报错:Oracle ORA-01722: 无效数字 看了一篇博客,据说是参数与列名不能一致,改过之后还是报一样的错误:Oracle ORA-01722: 无效数字 ,后来试了一下,不是参数名必须不一样的原因. 然后把参数的语句变换了一些,按照参数的正确顺序排好之后,一切正常.…
1.问题1 执行下列SQL: sql = "select count(1) as totle from vhl_model_data a where a.OBTAIN_CREATE_TIME between to_date(?,'yyyymmsshh24mi') and to_date(?,'yyyymmsshh24mi');"; Oracle报“无效数字异常”:经过两个钟头的反复的检查,发现是由于自己粗心在上述语句结尾多写了个分号“;”导致.粗心害死人啊!真是囧! 2.问题2 ORA…
http://blog.csdn.net/p451933505/article/details/9272257 对Oracle中中文.数字.英文混杂形式的字段进行排序的方法: 例如: order by NLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(translate(字段名, '0123456789' || 字段名, '0123456789')) NLSSORT() 函数: 可以使用NLSSORT()函数可以改变Oralce 对汉字…
今天在对12万条记录的表进行左联接时,有时可以查询出数据,有时会报无效数字,反复检查,发现问题. 例如sql: SELECT * FROM USER U LEFT JOIN USER_ROLE UR ON U.ID=UR.ID 当USER表ID与USER_ROLE表ID类型不一致的话,oracle内部隐式转换有时可以查询出数据, 但有时也会报 ORA-01722:无效数字…
Select Count(t.Wip_No) As Consignvendnewcreateno_Num From   Apps.View_Scm_Wip_Po t Where  1 = 1 And    t.Organization_Id = 85 And    t.Vendor_Site_Id = 31 查询后报错: ORA-01722: 无效数字 修改后正常: Select Count(t.Wip_No) As Consignvendnewcreateno_Num From   Apps.…
ORA-01722: 无效数字 主要原因是: 1.对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作; 2.两个类型不匹配的值进行比较操作(例如,"="); 3.to_number函数中的值,非数字的,比如,to_number('a')肯定是不行的,to_number('12306')则是正常的. 要避免这些问题,要做到在写sql语句时就好认真处理好不同类型的问题. 比如如果要比较的话,同时都用to_number强制转换(to_number(字段a) = to_n…