I Oracle Database, SYSDATE funktionen returnerar det aktuella datumet och tiden som är inställd för operativsystemet där databasservern finns.
Det returnerade värdet är av typen DATE .
Syntax
Syntaxen ser ut så här:
SYSDATE Så inga argument krävs (eller accepteras) och det finns inga parenteser.
Exempel
Här är ett exempel:
SELECT SYSDATE
FROM DUAL; Resultat:
06/AUG/21
Det här exemplet visar datumet baserat på värdet av mitt systems NLS_DATE_FORMAT parameter (som för närvarande är DD/MON/RR ). Vi kan ändra denna parameter, eller använda en funktion som TO_CHAR() för att returnera resultatet i ett annat format.
Exempel:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL; Resultat:
2021-08-06
Ringer SYSDATE med parenteser
Som nämnts, SYSDATE funktionen anropas utan parentes.
Här är vad som händer när vi kallar det med parentes:
SELECT SYSDATE()
FROM DUAL; Resultat:
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:
Åtgärda SYSDATE Returvärde
FIXED_DATE initialiseringsparametern gör att du kan ställa in ett konstant datum och tid som SYSDATE kommer alltid tillbaka istället för aktuellt datum och tid.
Detta kan hjälpa till i testsituationer när du behöver samma indata för att producera samma resultat konsekvent.
Se Oracles dokumentation för FIXED_DATE och även initialiseringsparametrar i allmänhet för mer information.