ORA-01843: not a valid month

2013-03-11

服务器上的 Oracle 10g 使用中文字符集,按照'DD-MM-YY'日期格式操作时,会提示你 ORA-01843 的错误。

例如:

select count(*) from view where create_time between '11-mar-13' and '12-mar-13';

ERROR at line 1:
ORA-01843: not a valid month

要解决这个问题,可以在修改当前会话的 NLS_DATE_LANGUAGE 和 NLS_DATE_FORMAT,方法如下

SQL>alter session set nls_date_language='AMERICAN';

当然如果要自定义日期格式,可以使用以下命令自定义:

SQL> alter session set nls_date_format = 'DD-MON-YYYY';

 

注意:此命令是在当前会话下设置,只能在当前会话下生效,使用SHOW PARAMETER命令是看不到的,如果只是在当前需修改使用命令就可以了,如果要全局修改就只能修改init参数文件了.

 

分类:数据库 | 标签: |

相关日志

评论被关闭!