ORA-01722:无效数字】的更多相关文章

SQL语句里面,看看有没有字符串的,没加单引号. 后面经查,发现有字段对比时候,一个是字符串,一个是数值型,使用了ORACLE隐式转换,字符串里面有包含非数字型的,所以导致报错…
类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字…
C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringBuilder strSql = new StringBuilder();object returnOValue = null;strSql.Append("update CRM_CONTACTS_RESOURCE set ");strSql.Append("RESOURCE_NA…
报错: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…
今天页面上突然查询不出数据,大致的sql语句是 select xx ,xxx from table a where a.lrmb in ( 6101060033, 61010503300, 61016666645 ) order by xxx desc 报错信息是"无效数字",很快就发现是lrbm这个字段里面的数字上没有引号,而之前一直是可以查询出数据的,所以很可能是数据库里面有人人工的添加了一条数据,这条数据的lrbm字段的类型有错,待会儿在自己本地 数据库里面测试一条错误哦数据测试…
今天在对12万条记录的表进行左联接时,有时可以查询出数据,有时会报无效数字,反复检查,发现问题. 例如sql: SELECT * FROM USER U LEFT JOIN USER_ROLE UR ON U.ID=UR.ID 当USER表ID与USER_ROLE表ID类型不一致的话,oracle内部隐式转换有时可以查询出数据, 但有时也会报 ORA-01722:无效数字…
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ### The error may involve com.lecar.user.mapper.StationManageMapper.insertStation-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO T_CORP…
ORA-01722: 无效数字 主要原因是: 1.对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作; 2.两个类型不匹配的值进行比较操作(例如,"="); 3.to_number函数中的值,非数字的,比如,to_number('a')肯定是不行的,to_number('12306')则是正常的. 要避免这些问题,要做到在写sql语句时就好认真处理好不同类型的问题. 比如如果要比较的话,同时都用to_number强制转换(to_number(字段a) = to_n…
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.…
PL/SQL那点事-->SqlSession operation;SQL []; ORA-01722: 无效数字 出现这种情况,在网上查了很多方法:大致主要有两种方法帮助我们解决这个问题: 1.将错误行代码找出来,看是不是字符串转化为数字的时候报错,如果是在action层报错,就需要Integer.parseInt(String str)API来解决该问题 如果在action层没有报错,而是显示是Mapper.xml文件报错,那就是和数据库里面的数据类型不一致,这时候就需要to_number(从…
ORA-01722 无效数字 以下几种情况,数据库会报“ORA-01722 无效数字”错误: ① 对于两个类型不一致,一个“数字类型”,一个“非数字类型”进行赋值,或者比较操作: ② to_number()函数,括号中的输入的内容为非数字类型,比如‘a’.‘-1-1’. 针对这个函数,可以判断一个输入值是否是数字 .如果是数字,返回1,如果不是,返回0.判断数据输入的合法性时使用. create or replace function "isnumeric"(p_str in varc…
一.存在表A和表B,都包含字段user_no,但数据类型不一致,如下: create table A ( user_id varchar2(20), user_no number(12,0), xxx ); create table B ( user_name varchar2(60), user_no varchar2(20), xxx ); 二.现有某项业务需要用到A.user_id和B.user_name,通过user_no来做关联查询,如下: select A.user_id,B.use…
贴代码: <select id="getInfo" parameterClass="java.util.HashMap" resultClass="java.util.HashMap">      <isEqual property="Type" compareValue="02">        select a.*       from INFO a      where a.T…
原因: 每一行物理数据最后都存在一个换行符. 如果integer或者number类型的字段位于控制文件的最后,最后其实都会有CR/LF的换行符,在用sqlldr导入时会把换行符也算作那个数字的一部分,使得对应的导入ORDERADV_TK 的值与ORDERADV_TK在数据库中定义的NUMBER类型不匹配,从而出错. 解决办法: 在该列后面追加“INTEGER EXTERNAL TERMINATED BY WHITESPACE”.…
今天写查询语句,关联多张表,出现了这个错误. 结果发现时字段的数据类型不一致. select * from table_a a,table_b b where to_char(a.project_id)=b.project_id(+) --把project_id的类型转换成字符串类型,使其保持一致. 1.关联时转换一下数据类型: 2.或者修改表中的字段. 附录: 1.TO_CHAR() 本函数又可以分三小类,分别是 ①转换字符->字符TO_CHAR(c):将nchar,nvarchar2,clo…
-- Created on 2015/4/29 by MENGHU DECLARE -- Local variables here I INTEGER; BEGIN FOR OPEN_DATA IN (SELECT * FROM SYS_DEPT_ACCOUNTING SDA WHERE SDA.SEGMENT4 IS NOT NULL) LOOP BEGIN BEGIN SELECT TO_NUMBER(TRIM(SDA.SEGMENT4)) INTO I FROM SYS_DEPT_ACCO…
原因是:mybatis中的mapping映射时,sql语句中忘了加逗号,且逗号处有换行…
https://blog.csdn.net/yysyangyangyangshan/article/details/51762746…
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进…