Catégories :

Fonctions contextuelles (général)

CURRENT_TIME

Renvoie l’heure actuelle du système.

Alias :

LOCALTIME

Syntaxe

CURRENT_TIME( [ <fract_sec_precision> ] )

CURRENT_TIME

Arguments

précision_sec_fract

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 TIME_OUTPUT_FORMAT de la session, par exemple 'HH24:MI:SS.FF'.

Renvoie

Renvoie une valeur de type TIME.

Notes sur l’utilisation

  • 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 serveurs différents (dans l’entrepôt).

Exemples

Définissez le format de sortie de l’heure sur HH24:MI:SS.FF, puis renvoyez l’heure actuelle avec une précision fractionnelle en secondes réglée sur 2, puis sur 4, puis sur la valeur par défaut (9) :

ALTER SESSION SET TIME_OUTPUT_FORMAT = 'HH24:MI:SS.FF';

SELECT CURRENT_TIME(2);

+-----------------+
| CURRENT_TIME(2) |
|-----------------|
| 22:33:24.49     |
+-----------------+

SELECT CURRENT_TIME(4);

+-----------------+
| CURRENT_TIME(4) |
|-----------------|
| 22:33:26.2610   |
+-----------------+

SELECT CURRENT_TIME;

+--------------------+
| CURRENT_TIME       |
|--------------------|
| 22:33:28.263000000 |
+--------------------+