Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Định dạng DATE trong oracle

: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 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể kết nối với cơ sở dữ liệu oracle bằng JDBC nếu mật khẩu có các ký tự đặc biệt

  2. Oracle động Pivot_In_Clause

  3. Thời lượng của dữ liệu trong bảng Tạm thời chung?

  4. Xử lý BLOB oracle jdbc quá phức tạp

  5. Cách tìm tên ràng buộc trong Oracle