I Oracle Database er SYSTIMESTAMP
funktion returnerer systemdatoen, inklusive brøkdele sekunder og tidszone, for det system, som databasen ligger på.
Den returnerede værdi er af typen TIMESTAMP WITH TIME ZONE
.
Syntaks
Syntaksen ser sådan ud:
SYSTIMESTAMP
Så ingen argumenter er påkrævet (eller accepteret), og der er ingen parenteser.
Eksempel
Her er et eksempel:
SELECT SYSTIMESTAMP
FROM DUAL;
Resultat:
06/AUG/21 07:45:00.540362000 PM -04:00
Dette eksempel viser datoen baseret på værdien af mit systems NLS_DATE_FORMAT
parameter (som i øjeblikket er DD/MON/RR
). Vi kan ændre NLS_DATE_FORMAT
parameter, eller brug en funktion som TO_CHAR()
for at returnere resultatet i et andet format.
Eksempel:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Resultat:
2021-08-06 19:48:43 -04:00
Ringer til SYSTIMESTAMP
med parenteser
Som nævnt er SYSTIMESTAMP
funktion kaldes uden parentes.
Her er, hvad der sker, når vi kalder 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.