ClickHouse/docs/fr/sql-reference/data-types/special-data-types/interval.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

3.5 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 61 Intervalle

Intervalle

Famille de types de données représentant des intervalles dheure et de date. Les types de la INTERVAL opérateur.

!!! warning "Avertissement" Interval les valeurs de type de données ne peuvent pas être stockées dans les tables.

Structure:

  • Intervalle de temps en tant que valeur entière non signée.
  • Type de lintervalle.

Types dintervalles pris en charge:

  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Pour chaque type dintervalle, il existe un type de données distinct. Par exemple, l DAY lintervalle correspond au IntervalDay type de données:

SELECT toTypeName(INTERVAL 4 DAY)
┌─toTypeName(toIntervalDay(4))─┐
│ IntervalDay                  │
└──────────────────────────────┘

Utilisation Remarques

Vous pouvez utiliser Interval-tapez des valeurs dans des opérations arithmétiques avec Date et DateTime-type de valeurs. Par exemple, vous pouvez ajouter 4 jours à lheure actuelle:

SELECT now() as current_date_time, current_date_time + INTERVAL 4 DAY
┌───current_date_time─┬─plus(now(), toIntervalDay(4))─┐
│ 2019-10-23 10:58:45 │           2019-10-27 10:58:45 │
└─────────────────────┴───────────────────────────────┘

Les intervalles avec différents types ne peuvent pas être combinés. Vous ne pouvez pas utiliser des intervalles comme 4 DAY 1 HOUR. Spécifiez des intervalles en unités inférieures ou égales à la plus petite unité de lintervalle, par exemple, lintervalle 1 day and an hour lintervalle peut être exprimée comme 25 HOUR ou 90000 SECOND.

Vous ne pouvez pas effectuer dopérations arithmétiques avec Interval- tapez des valeurs, mais vous pouvez ajouter des intervalles de différents types par conséquent aux valeurs dans Date ou DateTime types de données. Exemple:

SELECT now() AS current_date_time, current_date_time + INTERVAL 4 DAY + INTERVAL 3 HOUR
┌───current_date_time─┬─plus(plus(now(), toIntervalDay(4)), toIntervalHour(3))─┐
│ 2019-10-23 11:16:28 │                                    2019-10-27 14:16:28 │
└─────────────────────┴────────────────────────────────────────────────────────┘

La requête suivante provoque une exception:

select now() AS current_date_time, current_date_time + (INTERVAL 4 DAY + INTERVAL 3 HOUR)
Received exception from server (version 19.14.1):
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Wrong argument types for function plus: if one argument is Interval, then another must be Date or DateTime..

Voir Aussi