所以我有这个小脚本:
set serveroutput on;
DECLARE
val DATE;
BEGIN
val := TO_DATE('27-Jan-2001','DD-Mon-YYYY');
dbms_output.put_line(val);
END;
蒙版与我输入的日期匹配但显示
ORA-01843:不是有效月份
每次......
由于
答案 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块之前。