Springmvc UPDATE 数据时 ORA-01858:a non-numeric character was found where a numeric was expected

ORA-01858:a non-numeric character was found where a numeric was expected 异常。

我的代码:

主要是绑定变量带出来的问题。

出错原因是:preparedstatement在执行的时候不能把带有to_date的参数的串替换为sql中的问号,主要是to_date函数替换不了,解决办法是将to_date函数先放到sql语句中,然后替换后面的变量,就不报这个错误了。

错误异常:

 修改后的代码:

参考: http://blog.csdn.net/u010526028/article/details/70843610

时间: 2024-10-17 21:57:50

Springmvc UPDATE 数据时 ORA-01858:a non-numeric character was found where a numeric was expected的相关文章

Python 爬起数据时 'gbk' codec can't encode character '\xa0' 的问题

1.被这个问题折腾了一上午终于解决了,再网上看到有用  string.replace(u'\xa0',u' ') 替换成空格的,方法试了没用. 后来发现 要在open的时候加utf-8才解决问题. 以为就这样万事大吉了,运行又出现新问题了,爬去的内容是乱码,而源码是正常的,这不是怪了嘛,想想肯定是页面没用utf-8 把utf-8 加上之后,问题完美解决 Python 爬起数据时 'gbk' codec can't encode character '\xa0' 的问题

mybatis update数据时无异常但没更新成功

没更新的问题原因: sqlSession.commit(); 没执行commit,但官方文档里有这样的描述:"默认情况下 MyBatis 不会自动提交事务,除非它侦测到有插入.更新或删除操作改变了数据库." 源码: <update id="updateTest" parameterType="cn.td.user.TestModel"> //TestModel是一个JavaBean update test_table set test

Hibernate 批量update数据时,怎么样做可以回滚,

1.serviceManagerDaoImpl代码里对异常不进行try,catch抛出, 2.或者抛出throw new RuntimeException()异常

关于oracle 11g导出数据时 报 ORA 1455错误的处理

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

SQL中使用UPDATE更新数据时一定要记得WHERE子句

我们在使用 SQL 中的 UPDATE 更新数据时,一般都不会更新表中的左右数据,所以我们更新的数据的 SQL 语句中会带有 WHERE 子句,如果没有WHERE子句,就回更新表中所有的数据,在 mysql 中,我们可以设置sql_safe_updates 这个自带的参数来解决,,当该参数开启的情况下,我们必须在 UPDATE 语句后携带 WHERE 条件,否则就会报错.set sql_safe_updates=1; 表示开启该参数.下面是开启sql_safe_updates参数后不带  WHE

Mysql更新数据时,报 “You can&#39;t specify target table &#39;message &#39; for update in FROM clause” 解决办法

报错的SQL为: delete from message where id not in  (select min(id) as id from message group by content); 报错信息的中文意思为:不能在FROM子句中更新  message表数据,原因是 "不能在从本表中查出数据范围后,然后直接更新本表", 解决方法思路是,让数据库认为,你查出的数据范围,是不从本表中查出来的,实现步骤如下: 1.用as,给查出的数据表,设置别名为a,即 (select min(

Oracle Update 数据

Client login 1.SQL Plus请求使用TCP/IP 连接 指定TNS服务名 如 ubuntu .Client process读取tnsnames.ora file 向指定的主机发送数据包 2. Server 端接受请求 监听器进程获取客户端发过来的TNS数据包.检查配置文件,符合配置则调用fork() 生成子进程 3. 子进程收集本进程所在的主机名.IP地址及进程号等信息,按照参数文件申请用一小块PGA内存. 4. 这时子进程在这里华丽的变身为Server process . 此

更新数据时如何使时间自动更新

更新数据时不能使用time类型 使用timestamp类型才可以自动获取当前系统时间 TIMESTAMP的变体 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录和修改现有记录的时候都对这个数据列刷新 2,TIMESTAMP DEFAULT CURRENT_TIMESTAMP  在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它 3,TIMESTAMP ON UPDATE CURRE

关于mysql处理百万级以上的数据时如何提高其查询速度的方法

关于大数据量处理方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:     select id from t where num is null     可以在num上设置默认值0,确保表中num列没有null值,然后这