sql >> Databasteknik >  >> RDS >> Oracle

SYSDATE-funktion i Oracle

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.


  1. Vad är skillnaden mellan att använda INDEX vs KEY i MySQL?

  2. Hur man läser och återställer AUTO_INCREMENT i MySQL

  3. Hur får jag en frågeexekveringsplan i SQL Server?

  4. 5 ovanliga Microsoft Access-tips för 2020