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

时间:2017-05-12 13:41:44

标签: oracle to-date

所以我有这个小脚本:

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

蒙版与我输入的日期匹配但显示

  

ORA-01843:不是有效月份

每次......

由于

1 个答案:

答案 0 :(得分:5)

您当前的会话NLS_DATE_LANGUAGE很可能设置为1月未缩写为" 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块之前。