Dans Oracle Database, le SYSTIMESTAMP renvoie la date système, y compris les fractions de seconde et le fuseau horaire, du système sur lequel réside la base de données.
La valeur renvoyée est de type TIMESTAMP WITH TIME ZONE .
Syntaxe
La syntaxe ressemble à ceci :
SYSTIMESTAMP Ainsi, aucun argument n'est requis (ou accepté), et il n'y a pas de parenthèses.
Exemple
Voici un exemple :
SELECT SYSTIMESTAMP
FROM DUAL; Résultat :
06/AUG/21 07:45:00.540362000 PM -04:00
Cet exemple affiche la date en fonction de la valeur du NLS_DATE_FORMAT de mon système paramètre (qui est actuellement DD/MON/RR ). Nous pouvons changer le NLS_DATE_FORMAT paramètre, ou utilisez une fonction comme TO_CHAR() pour renvoyer le résultat dans un format différent.
Exemple :
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL; Résultat :
2021-08-06 19:48:43 -04:00
Appeler SYSTIMESTAMP avec parenthèses
Comme mentionné, le SYSTIMESTAMP la fonction est appelée sans parenthèses.
Voici ce qui se passe lorsque nous l'appelons avec des parenthèses :
SELECT SYSTIMESTAMP()
FROM DUAL; Résultat :
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.