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