Oracle
 sql >> база данни >  >> RDS >> Oracle

Форматиране на DATE в oracle

:Моля, използвайте формат за дата yyyy-MM-dd !!!

Това не е свързано с грешка в Oracle.

Имам поле за дата в таблица, която съдържа дата във формат dd-MMM-yy.

Не, объркан си. Oracle не съхранява дати във формата, който виждате. Съхранява го вътрешно в7 байта като всеки байт съхранява различни компоненти на datetime стойност.

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

Ако искате да покажете, използвайте TO_CHAR с правилен ФОРМАТ МОДЕЛ .

Докато вмъквате, използвайте TO_DATE с правилен ФОРМАТ МОДЕЛ .

Това, което виждате като формат по подразбиране, са вашите специфични за локала настройки за NLS .

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>

Актуализиране Относно МММ формат.

Под MMM, ако имате предвид името на месеца до три знака, тогава използвайте 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. Използване на дата в ограничение за проверка, Oracle

  2. DUPLICATE InMemory Объркване в Oracle RAC

  3. Как да актуализирате Oracle Clob с помощта на JDBC

  4. Oracle Database Security:Одит на база данни

  5. Необходима ли е ключовата дума 'as' в Oracle за дефиниране на псевдоним?