:Vui lòng sử dụng định dạng ngày yyyy-MM-dd !!!
Đó không phải là cách liên quan đến lỗi Oracle.
Tôi có trường ngày tháng trong bảng chứa ngày tháng ở định dạng dd-MMM-yy.
Không, bạn đang bối rối. Oracle không lưu trữ ngày tháng ở định dạng bạn thấy. Nó lưu trữ nội bộ trong 7 byte với mỗi byte lưu trữ các thành phần khác nhau của datetime giá trị.
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
Nếu bạn muốn hiển thị, hãy sử dụng TO_CHAR với MÔ HÌNH ĐỊNH DẠNG phù hợp .
Trong khi chèn, hãy sử dụng TO_DATE với MÔ HÌNH ĐỊNH DẠNG phù hợp .
Những gì bạn thấy dưới dạng định dạng theo mặc định, là cài đặt NLS cụ thể theo ngôn ngữ của bạn .
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>
Cập nhật Về MMM định dạng.
Bằng MMM nếu ý bạn là tên tháng có tối đa ba ký tự thì hãy sử dụng MON .