ORACLE 10g:To_date() 不是有效的月份

ORACLE 10g : To_date() Not a valid month

所以我有这个小脚本:

set serveroutput on;
DECLARE
  val DATE;
BEGIN
  val := TO_DATE('27-Jan-2001','DD-Mon-YYYY');
  dbms_output.put_line(val);
END;

掩码与我输入的日期匹配,但它显示

ORA-01843: not a valid month

每次...

谢谢

您的当前会话 NLS_DATE_LANGUAGE 很可能设置为一月未缩写为 "Jan" 的值。

试试这个:

DECLARE
  val DATE;
BEGIN
  val := TO_DATE('27-Jan-2001','DD-Mon-YYYY', 'NLS_DATE_LANGUAGE = american');
  dbms_output.put_line(val);
END;

或执行

ALTER SESSION SET NLS_DATE_LANGUAGE = 'american';

在你 运行 你的 PL/SQL 块之前。