Permet de stocker un instant, pouvant être exprimé sous la forme d’une date calendaire et d’une heure de la journée, avec une précision inférieure à la seconde définie
Taille du tick (précision) : 10-precision secondes. Plage valide : [ 0 : 9 ].
Les valeurs généralement utilisées sont 3 (millisecondes), 6 (microsecondes) et 9 (nanosecondes).
Valeur par défaut : 3 (millisecondes).
Syntaxe :
En interne, les données sont stockées sous la forme d’un certain nombre de « ticks » depuis le début de l’epoch (1970-01-01 00:00:00 UTC), sous forme d’Int64. La résolution des ticks est déterminée par le paramètre precision. De plus, le type DateTime64 peut stocker un fuseau horaire identique pour toute la colonne, ce qui affecte la façon dont les valeurs du type DateTime64 sont affichées au format texte ainsi que la façon dont les valeurs spécifiées sous forme de chaînes sont interprétées (‘2020-01-01 05:00:01.000’). Le fuseau horaire n’est pas stocké dans les lignes de la table (ou dans le resultset), mais dans les métadonnées de la colonne. Voir les détails dans DateTime.
Plage de valeurs prise en charge : [1900-01-01 00:00:00, 2299-12-31 23:59:59.999999999]
Le nombre de chiffres après le séparateur décimal dépend du paramètre precision.
Remarque : la précision de la valeur maximale est de 8. Si la précision maximale de 9 chiffres (nanosecondes) est utilisée, la valeur maximale prise en charge est 2262-04-11 23:47:16 en UTC.
- Création d’une table avec une colonne de type
DateTime64 et insertion de données dans cette table :
- Lors de l’insertion d’une valeur datetime sous forme d’entier, elle est traitée comme un timestamp Unix (UTC) correctement mis à l’échelle.
1546300800000 (avec une précision de 3) représente '2019-01-01 00:00:00' UTC. Cependant, comme la colonne timestamp utilise le fuseau horaire Asia/Istanbul (UTC+3), lors de l’affichage sous forme de chaîne, la valeur sera affichée comme '2019-01-01 03:00:00'. Lors de l’insertion d’une valeur datetime sous forme décimale, elle est traitée de manière similaire à un entier, à ceci près que la valeur avant le point décimal correspond au timestamp Unix jusqu’aux secondes incluses, et la partie après le point décimal est traitée comme la précision.
- Lors de l’insertion d’une valeur de chaîne comme datetime, elle est considérée comme étant dans le fuseau horaire de la colonne.
'2019-01-01 00:00:00' sera considéré comme appartenant au fuseau horaire Asia/Istanbul et stocké sous la forme 1546290000000.
- Filtrage sur les valeurs
DateTime64
Contrairement à DateTime, les valeurs DateTime64 ne sont pas automatiquement converties depuis String.
Contrairement à l’opération insert, la fonction toDateTime64 traite toutes les valeurs comme des valeurs décimales ; la précision doit donc
être indiquée après la virgule.
- Récupération du fuseau horaire d’une valeur de type
DateTime64 :
- Conversion de fuseaux horaires
Voir aussi
Dernière modification le 2 juillet 2026