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.