:Proszę użyć formatu daty rrrr-MM-dd !!!
To nie ma związku z błędem Oracle.
Mam pole daty w tabeli, która zawiera datę w formacie dd-MMM-rr.
Nie, jesteś zdezorientowany. Oracle nie przechowuje dat w widocznym formacie. Przechowuje go wewnętrznie w 7 bajtach gdzie każdy bajt przechowuje różne składniki daty wartość.
Byte Description
---- -------------------------------------------------
1 Century value but before storing it add 100 to it
2 Year and 100 is added to it before storing
3 Month
4 Day of the month
5 Hours but add 1 before storing it
6 Minutes but add 1 before storing it
7 Seconds but add 1 before storing it
Jeśli chcesz wyświetlić, użyj TO_CHAR z odpowiednim MODELEM FORMATU .
Podczas wstawiania użyj TO_DATE z odpowiednim MODELEM FORMATU .
To, co domyślnie widzisz jako format, to ustawienia NLS specyficzne dla regionu .
SQL> select parameter, value from v$nls_parameters where parameter='NLS_DATE_FORMAT';
PARAMETER VALUE
--------------- ----------------------------------------------------------------
NLS_DATE_FORMAT DD-MON-RR
SQL> select sysdate from dual;
SYSDATE
---------
03-FEB-15
SQL> select to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'MM
-------------------
02/03/2015 17:59:42
SQL>
Aktualizacja Odnośnie MMM format.
MMM, jeśli masz na myśli nazwę miesiąca składającą się z maksymalnie trzech znaków, użyj MON .