Catégories :

Fonctions contextuelles (général)

CURRENT_TIMESTAMP

Renvoie l’horodatage actuel du système.

Alias :

LOCALTIMESTAMP , GETDATE , SYSTIMESTAMP

Syntaxe

CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )

CURRENT_TIMESTAMP

Arguments

précision_sec_fract

This optional argument indicates the precision with which to report the time. For example, a value of 3 says to use 3 digits after the decimal point (i.e. to specify the time with a precision of milliseconds).

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

  • Fractional seconds are only displayed if they have been explicitly set in the TIME_OUTPUT_FORMAT parameter for the session (e.g. 'HH24:MI:SS.FF').

Renvoie

Renvoie l’horodatage actuel dans le fuseau horaire local.

Notes sur l’utilisation

  • La configuration du paramètre de session TIMEZONE affecte la valeur de retour.

  • Le réglage du paramètre TIMESTAMP_TYPE_MAPPING n’affecte pas la valeur de retour.

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

  • 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).

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

    • Ils ne prennent pas en charge le paramètre précision_sec_fract.

    • Ces fonctions ne peuvent pas être appelées sans parenthèses.

Exemples

Définissez le format de sortie de l’heure sur YYYY-MM-DD HH24:MI:SS.FF, puis renvoyez l’horodatage actuel avec une précision fractionnelle en secondes d’abord défini sur 2, 4, puis sur la valeur par défaut (9) :

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

SELECT CURRENT_TIMESTAMP(2);

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

SELECT CURRENT_TIMESTAMP(4);

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

SELECT CURRENT_TIMESTAMP;

+-------------------------------+
| CURRENT_TIMESTAMP             |
|-------------------------------|
| 2017-04-26 22:37:28.188000000 |
+-------------------------------+