sql >> Databáze >  >> RDS >> Oracle

Formátování DATE v oracle

:Použijte prosím formát data yyyy-MM-dd !!!

To nijak nesouvisí s chybou Oracle.

Mám v tabulce datumové pole, které obsahuje datum ve formátu dd-MMM-rr .

Ne, jsi zmatený. Oracle neukládá data ve formátu, který vidíte. Ukládá jej interně v 7 bytech přičemž každý bajt ukládá různé součásti datetime hodnotu.

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

Pokud chcete zobrazit, použijte TO_CHAR se správným MODELEM FORMÁTU .

Při vkládání použijte TO_DATE se správným MODELEM FORMÁTU .

Jako formát ve výchozím nastavení vidíte nastavení NLS specifická pro místní prostředí .

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>

Aktualizovat Pokud jde o MMM formát.

MMM, pokud máte na mysli název měsíce do tří znaků, použijte MON .




  1. Přidat přihlášení k propojenému serveru na SQL Server (příklad T-SQL)

  2. Správa vysoké dostupnosti v PostgreSQL – Část III:Patroni

  3. CHYBA 1148:Použitý příkaz není u této verze MySQL povolen

  4. Přidejte výchozí hodnotu pole datetime v SQL Server k časovému razítku