- Catégories :
Fonctions contextuelles (général)
CURRENT_TIMESTAMP¶
Renvoie l’horodatage actuel pour le système dans le fuseau horaire local.
- Alias :
Syntaxe¶
CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )
CURRENT_TIMESTAMP
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';
Renvoyer l’horodatage actuel avec une précision de fraction de seconde fixée à 2 :
SELECT CURRENT_TIMESTAMP(2);+------------------------+ | 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);+--------------------------+ | 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;+-------------------------------+ | CURRENT_TIMESTAMP | |-------------------------------| | 2017-04-26 22:37:28.188000000 | +-------------------------------+