I Oracle Database, SYSTIMESTAMP
funktion returnerar systemdatumet, inklusive bråkdelar av sekunder och tidszon, för systemet som databasen finns på.
Det returnerade värdet är av typen TIMESTAMP WITH TIME ZONE
.
Syntax
Syntaxen ser ut så här:
SYSTIMESTAMP
Så inga argument krävs (eller accepteras), och det finns inga parenteser.
Exempel
Här är ett exempel:
SELECT SYSTIMESTAMP
FROM DUAL;
Resultat:
06/AUG/21 07:45:00.540362000 PM -04:00
Det här exemplet visar datumet baserat på värdet på mitt systems NLS_DATE_FORMAT
parameter (som för närvarande är DD/MON/RR
). Vi kan ändra NLS_DATE_FORMAT
parameter, eller använd en funktion som TO_CHAR()
för att returnera resultatet i ett annat format.
Exempel:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Resultat:
2021-08-06 19:48:43 -04:00
Ringer SYSTIMESTAMP
med parenteser
Som nämnts, SYSTIMESTAMP
funktionen anropas utan parentes.
Här är vad som händer när vi kallar det med parentes:
SELECT SYSTIMESTAMP()
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT SYSTIMESTAMP() FROM DUAL Error at Command Line : 1 Column : 21 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.