Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction SYSTIMESTAMP dans Oracle

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.