ORA-01861错误

ORA-01861 错误一般是日期,字符,数字类型互换时产生的错误。

日期型数据有误或者安装Oracle时设置NLS_DATE_LANGUAGE为美国,或其他国家,也有可能导致ORA-01861错误,因为的日期写法有些不一样: 
亚洲是 RR/MM/DD HH24:MI:SSXFF
美国是  RR/MOD/DD HH24:MI:SSXFF
欧洲是  MM/DD/RR  HH24:MI:SSXFF

及时同一个开发项目,如果组员各自设置不同的时间格式,会出现在某机器上可以运行的程序,在另一程序无法运行。


   例如

  
SELECT TO_DATE(TO_CHAR(SYSDATE,'YYYYMMDD')) FROM DUAL;


   这个语句只能在日期样式为亚洲时可以运行。
   如果要在美国的日期样式运行程序,可以修改为:
  
SELECT TO_DATE(TO_CHAR(SYSDATE,'RRMODDD')) FROM DUAL;


   所以开发时也要统一数据库的NLS_DATE_LANGUAGE。

你可能感兴趣的:(java,oracle)