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

Jak získat aktuální datum v Oracle

Problém:

Chcete získat aktuální datum (bez času) v Oracle.

Řešení 1 (pokud vám nevadí nuly jako čas):

SELECT
  TRUNC(CURRENT_DATE) AS current_date
FROM dual;

Pokud byste například spustili tento dotaz 16. června 2021, výsledná tabulka by vypadala takto:

current_date
2021-06-16T00:00:00Z

Diskuse:

Oracle nemá datový typ, který ukládá pouze datum bez času. Ale pokud vám nevadí nuly na místě času, můžete jednoduše uložit datum do DATE datový typ (který ukládá datum i čas v Oracle). Chcete-li získat aktuální datum a čas jako DATE hodnotu, můžete jednoduše použít CURRENT_DATE . Chcete-li se zbavit času (a mít místo toho nuly), musíte zkrátit datum:

SELECT
  TRUNC(CURRENT_DATE) AS current_date
FROM dual;

Řešení 2 (pokud chcete místo času jen datum a ne nuly):

SELECT
  TO_CHAR(CURRENT_DATE, 'yyyy-MM-dd') AS current_date
FROM dual;

Pokud byste například spustili tento dotaz 16. června 2021, výsledná tabulka by vypadala takto:

current_date
2021-06-16

Diskuse:

Chcete-li získat text VARCHAR2 typu, který ukládá datum, můžete použít TO_CHAR() funkce v Oracle. Jako první argument musíte zadat datum/čas, který se má převést, a ve formátu, ve kterém chcete datum uložit jako druhý argument.

Protože chcete aktuální datum, první argument je CURRENT_DATE . Druhý argument je vaše volba. Například 'yyyy-MM-dd' znamená 'rok-měsíc-den', kde měsíc je číselný spíše než text. Níže uvedená tabulka uvádí některé příklady formátů data a příslušný výstup pro datum 16. června 2021.

formát data výsledek
'RRRR-MM-DD' 2021-06-16
'RRRR/MM/DD' 16. 6. 2021
'YYYY MM DD' 2021 06 16
'DD-MON-YYYY' 16. června 2021
'DD-MON-YY' 16-JUN-21
'FMMonth DD, YYYY' 16. června 2021

Více o formátech data si můžete přečíst zde.


  1. Jak přejmenovat klíč JSON v SQL Server (T-SQL)

  2. FOR XML PATH(''):Escapování speciálních znaků

  3. CHYBA Postgresu:nelze otevřít soubor pro čtení:Povolení odepřeno

  4. Co je kontrolní omezení v SQL Server - SQL Server / TSQL výukový program, část 82