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

Renvoie

Renvoie une valeur de type TIME.

Notes sur l’utilisation

  • La configuration du paramètre TIMEZONE affecte la valeur de retour. L’heure renvoyée est indiquée dans le fuseau horaire de la session.

  • Le format d’affichage des heures dans la sortie est déterminé par le paramètre de session TIME_OUTPUT_FORMAT (par défaut, HH24:MI:SS).

  • Pour respecter la norme ANSI, cette fonction peut être appelée sans parenthèses dans les instructions SQL.

    Cependant, si vous définissez une variable Snowflake Scripting sur une expression qui appelle la fonction (par exemple, my_var := <function_name>();), vous devez inclure les parenthèses. Pour plus d’informations, voir les notes sur l’utilisation des fonctions de contexte.

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

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);
Copy
+-----------------+
| CURRENT_TIME(2) |
|-----------------|
| 15:35:51.24     |
+-----------------+
SELECT CURRENT_TIME(4);
Copy
+-----------------+
| CURRENT_TIME(4) |
|-----------------|
| 15:36:53.5570   |
+-----------------+
SELECT CURRENT_TIME;
Copy
+--------------------+
| CURRENT_TIME       |
|--------------------|
| 15:37:29.644000000 |
+--------------------+