Catégories :

Fonctions contextuelles (général)

CURRENT_TIMESTAMP

Renvoie l’horodatage actuel pour le système dans le fuseau horaire local.

Alias :

LOCALTIMESTAMP , GETDATE , SYSTIMESTAMP

Syntaxe

CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )

CURRENT_TIMESTAMP
Copy

Arguments

fract_sec_precision

Cet argument facultatif indique la précision avec laquelle indiquer l’heure. Par exemple, une valeur de 3 indique qu’il faut utiliser 3 chiffres après le point décimal. (autrement dit, pour spécifier l’heure avec une précision à la milliseconde près).

La précision par défaut est 9 (nanosecondes).

Les valeurs valides vont de 0 à 9. Cependant, la plupart des plates-formes ne prennent pas réellement en charge la précision en nanosecondes. La précision obtenue peut être inférieure à celle que vous spécifiez. En pratique, la précision est généralement à la milliseconde près (3 chiffres).

Note

Les secondes fractionnelles ne sont affichées que si elles ont été définies explicitement dans le paramètre TIMESTAMP_OUTPUT_FORMAT de la session, (par exemple 'YYYY-MM-DD HH24:MI:SS.FF').

Renvoie

Renvoie l’heure actuelle du système. Le type de données de la valeur renvoyée est TIMESTAMP_LTZ.

Notes sur l’utilisation

  • La configuration du paramètre TIMEZONE affecte la valeur de retour. L’horodatage renvoyé se situe dans le fuseau horaire de la session.

  • La configuration du paramètre TIMESTAMP_TYPE_MAPPING affecte la valeur de retour. L’horodatage renvoyé est dans le type d’horodatage de la session.

  • N’utilisez pas la valeur renvoyée pour un ordre chronologique précis entre les requêtes simultanées (traitées par le même entrepôt virtuel), car les requêtes peuvent être traitées par des ressources de calcul différentes (dans l’entrepôt).

  • Pour respecter les normes ANSI, cette fonction peut être appelée sans parenthèses.

  • Les alias SYSTIMESTAMP et GETDATE diffèrent de CURRENT_TIMESTAMP des manières suivantes :

    • Ils ne prennent pas en charge l’argument fract_sec_precision.

    • Ces fonctions doivent être appelées entre parenthèses.

Exemples

Définissez le format de sortie de l’heure sur YYYY-MM-DD HH24:MI:SS.FF :

ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
Copy

Renvoyer l’horodatage actuel avec une précision de fraction de seconde fixée à 2 :

SELECT CURRENT_TIMESTAMP(2);
Copy
+------------------------+
| CURRENT_TIMESTAMP(2)   |
|------------------------|
| 2017-04-26 22:37:22.83 |
+------------------------+

Renvoyer l’horodatage actuel avec une précision de fraction de seconde fixée à 4 :

SELECT CURRENT_TIMESTAMP(4);
Copy
+--------------------------+
| CURRENT_TIMESTAMP(4)     |
|--------------------------|
| 2017-04-26 22:37:25.3530 |
+--------------------------+

Renvoyer l’horodatage actuel avec une précision de fraction de seconde définie par défaut (9) :

SELECT CURRENT_TIMESTAMP;
Copy
+-------------------------------+
| CURRENT_TIMESTAMP             |
|-------------------------------|
| 2017-04-26 22:37:28.188000000 |
+-------------------------------+