ORACLE 10g : To_date() Not a valid month

拜拜、爱过 提交于 2019-12-11 06:14:34

问题


So I have this little script :

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

The mask match with the date I'm inputing but it displays

ORA-01843: not a valid month

every time...

Thanks


回答1:


Most likely your current session NLS_DATE_LANGUAGE is set to a value where January is not abbreviated as "Jan".

Try this:

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

Or execute

ALTER SESSION SET NLS_DATE_LANGUAGE = 'american';

before you run your PL/SQL block.



来源:https://stackoverflow.com/questions/43939248/oracle-10g-to-date-not-a-valid-month

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!