現在のセッション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ブロックを実行する前。