ClickHouse/docs/fr/data_types/datetime64.md
2020-03-30 15:48:55 +03:00

102 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
machine_translated: true
---
# DateTime64 {#data_type-datetime64}
Permet de stocker un instant dans le temps, qui peut être exprimé comme une date de calendrier et une heure d'un jour, avec une précision de sous-seconde définie
Tick taille (précision): 10<sup>-précision</sup> deuxième
Syntaxe:
``` sql
DateTime64(precision, [timezone])
```
En interne, stocke les données comme un certain nombre de ticks depuis le début de l'époque (1970-01-01 00: 00: 00 UTC) comme Int64. La résolution des tiques est déterminée par le paramètre de précision. En outre, l' `DateTime64` type peut stocker le fuseau horaire qui est le même pour la colonne entière, qui affecte la façon dont les valeurs de la `DateTime64` les valeurs de type sont affichées au format texte et comment les valeurs spécifiées en tant que chaînes sont analysées (2020-01-01 05:00:01.000). Le fuseau horaire n'est pas stocké dans les lignes de la table (ou dans resultset), mais est stocké dans les métadonnées de la colonne. Voir les détails dans [DateTime](datetime.md).
## Exemple {#examples}
**1.** Création d'une table avec `DateTime64`- tapez la colonne et insérez des données dedans:
``` sql
CREATE TABLE dt
(
`timestamp` DateTime64(3, 'Europe/Moscow'),
`event_id` UInt8
)
ENGINE = TinyLog
```
``` sql
INSERT INTO dt Values (1546300800000, 1), ('2019-01-01 00:00:00', 2)
```
``` sql
SELECT * FROM dt
```
``` text
┌───────────────timestamp─┬─event_id─┐
│ 2019-01-01 03:00:00.000 │ 1 │
│ 2019-01-01 00:00:00.000 │ 2 │
└─────────────────────────┴──────────┘
```
- Lors de l'insertion de datetime en tant qu'entier, il est traité comme un horodatage Unix (UTC) mis à l'échelle de manière appropriée. `1546300800000` (avec précision 3) représente `'2019-01-01 00:00:00'` L'UTC. Cependant, comme `timestamp` la colonne a `Europe/Moscow` (UTC+3) fuseau horaire spécifié, lors de la sortie sous forme de chaîne, la valeur sera affichée comme `'2019-01-01 03:00:00'`
- Lors de l'insertion d'une valeur de chaîne en tant que datetime, elle est traitée comme étant dans le fuseau horaire de la colonne. `'2019-01-01 00:00:00'` sera considérée comme étant en `Europe/Moscow` fuseau horaire et stocké comme `1546290000000`.
**2.** Le filtrage sur `DateTime64` valeur
``` sql
SELECT * FROM dt WHERE timestamp = toDateTime64('2019-01-01 00:00:00', 3, 'Europe/Moscow')
```
``` text
┌───────────────timestamp─┬─event_id─┐
│ 2019-01-01 00:00:00.000 │ 2 │
└─────────────────────────┴──────────┘
```
Contrairement `DateTime`, `DateTime64` les valeurs ne sont pas converties depuis `String` automatiquement
**3.** Obtenir un fuseau horaire pour un `DateTime64`-le type de la valeur:
``` sql
SELECT toDateTime64(now(), 3, 'Europe/Moscow') AS column, toTypeName(column) AS x
```
``` text
┌──────────────────column─┬─x──────────────────────────────┐
│ 2019-10-16 04:12:04.000 │ DateTime64(3, 'Europe/Moscow') │
└─────────────────────────┴────────────────────────────────┘
```
**4.** Conversion de fuseau horaire
``` sql
SELECT
toDateTime64(timestamp, 3, 'Europe/London') as lon_time,
toDateTime64(timestamp, 3, 'Europe/Moscow') as mos_time
FROM dt
```
``` text
┌───────────────lon_time──┬────────────────mos_time─┐
│ 2019-01-01 00:00:00.000 │ 2019-01-01 03:00:00.000 │
│ 2018-12-31 21:00:00.000 │ 2019-01-01 00:00:00.000 │
└─────────────────────────┴─────────────────────────┘
```
## Voir Aussi {#see-also}
- [Fonctions de conversion de Type](../query_language/functions/type_conversion_functions.md)
- [Fonctions pour travailler avec des dates et des heures](../query_language/functions/date_time_functions.md)
- [Fonctions pour travailler avec des tableaux](../query_language/functions/array_functions.md)
- [Le `date_time_input_format` paramètre](../operations/settings/settings.md#settings-date_time_input_format)
- [Le `timezone` paramètre de configuration du serveur](../operations/server_settings/settings.md#server_settings-timezone)
- [Opérateurs pour travailler avec des dates et des heures](../query_language/operators.md#operators-datetime)
- [`Date` type de données](date.md)
- [`DateTime` type de données](datetime.md)