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

Funkce SYSDATE v Oracle

V databázi Oracle je SYSDATE Funkce vrací aktuální datum a čas nastavený pro operační systém, ve kterém je umístěn databázový server.

Vrácená hodnota je typu DATE .

Syntaxe

Syntaxe vypadá takto:

SYSDATE

Nejsou tedy vyžadovány žádné argumenty (nebo přijímány) a nejsou zde žádné závorky.

Příklad

Zde je příklad:

SELECT SYSDATE
FROM DUAL;

Výsledek:

06/AUG/21

Tento příklad zobrazuje datum na základě hodnoty NLS_DATE_FORMAT mého systému parametr (který je aktuálně DD/MON/RR ). Tento parametr můžeme změnit nebo použít funkci jako TO_CHAR() vrátit výsledek v jiném formátu.

Příklad:

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;

Výsledek:

2021-08-06

Volání SYSDATE se závorkami

Jak již bylo zmíněno, SYSDATE funkce se volá bez závorek.

Když to nazveme v závorkách, stane se toto:

SELECT SYSDATE()
FROM DUAL;

Výsledek:

Error starting at line : 1 in command -
SELECT SYSDATE()
FROM DUAL
Error at Command Line : 1 Column : 15
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:

Oprava SYSDATE Návratová hodnota

FIXED_DATE inicializační parametr umožňuje nastavit konstantní datum a čas, který SYSDATE se vždy vrátí místo aktuálního data a času.

To může pomoci v testovacích situacích, kdy potřebujete stejná vstupní data, abyste konzistentně produkovali stejný výsledek.

Viz dokumentaci Oracle pro FIXED_DATE a také inicializační parametry obecně pro více informací.


  1. Jak funguje pg_sleep_for() v PostgreSQL

  2. SQL Server Náhodné řazení

  3. Výběr databáze pro vytvoření dvou propojených tabulek?

  4. Jak mohu vložit objekt JSON do Postgres pomocí Java PrepareStatement?