如题,程序中很多地方都是
A.Startdate >= To_Date('2009-05-19')这么写的,连接公司的服务器,系统是没有问题的。现在在本地搭建oracle库后,运行时就报java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 ,知道是查询时因为“A.Startdate >= To_Date('2009-05-19')”引起的,但是程序中太多这么写的了,不知道有没有改变oracle的时间设置,让系统正常运行,而不用改变程序。
那位大侠遇到并解决了,给小弟指点下,不胜感激涕零!!!
A.Startdate >= To_Date('2009-05-19')这么写的,连接公司的服务器,系统是没有问题的。现在在本地搭建oracle库后,运行时就报java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 ,知道是查询时因为“A.Startdate >= To_Date('2009-05-19')”引起的,但是程序中太多这么写的了,不知道有没有改变oracle的时间设置,让系统正常运行,而不用改变程序。
那位大侠遇到并解决了,给小弟指点下,不胜感激涕零!!!
--改成这样
A.Startdate >= To_Date('2009-05-19','yyyy-mm-dd')
文字与格式字符串不匹配
要么这样 A.Startdate >=date'2009-05-19'或者在java中用替换函数把To_Date('2009-05-19'替换date'2009-05-19'
1.
只要在你获取连接,执行任何SQL语句之前,执行如下SQL即可解决问题:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';也就是说在getConnection()的函数里头,返回之前,执行这个就行了。应该好改。
2. 设置环境变量:
添加环境变量:nls_date_format, 值为:YYYY-MM-DD HH24:MI:SS
你设定环境变量以后,需要让环境变量生效。关闭你的,重新启动才可以。或者重启机器。
第1个方法则更没有问题。取得connection的第一步就是执行这个语句。是会话级的更改。
java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配 String statement = " select max(exchDate),baseCurrency,exchCurrency from prpdexch where exchDate <= '"+currDate+"' group by basecurrency,exchcurrency ";resultSet = dbManager.executeQuery(statement); 此举执行就报错;
是不是跟服务器有关,我用的是weblogic10.
'"+currDate+"'之前加上to_date()
(按照你提问时的约定)