ClickHouse/docs/fr/sql-reference/data-types/datetime.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

6.6 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 48 DateTime

Datetime

Permet de stocker un instant dans le temps, qui peut être exprimé comme une date de calendrier et une heure d'une journée.

Syntaxe:

DateTime([timezone])

Plage de valeurs prise en charge: [1970-01-01 00:00:00, 2105-12-31 23:59:59].

Résolution: 1 seconde.

Utilisation Remarques

Le point dans le temps est enregistré en tant que Le timestamp Unix, quel que soit le fuseau horaire ou l'heure d'été. En outre, l' DateTime 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 DateTime 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). 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. Une liste des fuseaux horaires pris en charge peut être trouvée dans le Base de données de fuseau horaire IANA. Le tzdata paquet, contenant Base de données de fuseau horaire IANA, doit être installé dans le système. L'utilisation de la timedatectl list-timezones commande pour lister les fuseaux horaires connus par un système local.

Vous pouvez définir explicitement un fuseau horaire DateTime- tapez des colonnes lors de la création d'une table. Si le fuseau horaire n'est pas défini, ClickHouse utilise la valeur fuseau paramètre dans les paramètres du serveur ou les paramètres du système d'exploitation au moment du démarrage du serveur ClickHouse.

Le clickhouse-client applique le fuseau horaire du serveur par défaut si un fuseau horaire n'est pas explicitement défini lors de l'initialisation du type de données. Pour utiliser le fuseau horaire du client, exécutez clickhouse-client avec l' --use_client_time_zone paramètre.

Clickhouse affiche les valeurs dans YYYY-MM-DD hh:mm:ss format de texte par défaut. Vous pouvez modifier la sortie avec le formatDateTime fonction.

Lorsque vous insérez des données dans ClickHouse, vous pouvez utiliser différents formats de chaînes de date et d'heure, en fonction de la valeur du date_time_input_format paramètre.

Exemple

1. Création d'une table avec un DateTime- tapez la colonne et insérez des données dedans:

CREATE TABLE dt
(
    `timestamp` DateTime('Europe/Moscow'),
    `event_id` UInt8
)
ENGINE = TinyLog;
INSERT INTO dt Values (1546300800, 1), ('2019-01-01 00:00:00', 2);
SELECT * FROM dt;
┌───────────timestamp─┬─event_id─┐
│ 2019-01-01 03:00:00 │        1 │
│ 2019-01-01 00:00:00 │        2 │
└─────────────────────┴──────────┘
  • Lors de l'insertion de datetime en tant qu'entier, il est traité comme un horodatage Unix (UTC). 1546300800 représenter '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 en tant que 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 enregistré sous 1546290000.

2. Le filtrage sur DateTime valeur

SELECT * FROM dt WHERE timestamp = toDateTime('2019-01-01 00:00:00', 'Europe/Moscow')
┌───────────timestamp─┬─event_id─┐
│ 2019-01-01 00:00:00 │        2 │
└─────────────────────┴──────────┘

DateTime les valeurs de colonne peuvent être filtrées à l'aide d'une WHERE prédicat. Elle sera convertie DateTime automatiquement:

SELECT * FROM dt WHERE timestamp = '2019-01-01 00:00:00'
┌───────────timestamp─┬─event_id─┐
│ 2019-01-01 03:00:00 │        1 │
└─────────────────────┴──────────┘

3. Obtenir un fuseau horaire pour un DateTimecolonne de type:

SELECT toDateTime(now(), 'Europe/Moscow') AS column, toTypeName(column) AS x
┌──────────────column─┬─x─────────────────────────┐
│ 2019-10-16 04:12:04 │ DateTime('Europe/Moscow') │
└─────────────────────┴───────────────────────────┘

4. Conversion de fuseau horaire

SELECT
toDateTime(timestamp, 'Europe/London') as lon_time,
toDateTime(timestamp, 'Europe/Moscow') as mos_time
FROM dt
┌───────────lon_time──┬────────────mos_time─┐
│ 2019-01-01 00:00:00 │ 2019-01-01 03:00:00 │
│ 2018-12-31 21:00:00 │ 2019-01-01 00:00:00 │
└─────────────────────┴─────────────────────┘

Voir Aussi

Article Original