Intervalle 

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

Structure:

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

Types d'intervalles pris en charge:

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

Pour chaque type d'intervalle, il existe un type de données distinct. Par exemple, l' DAY l'intervalle 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 à l'heure 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 l'intervalle, par exemple, l'intervalle 1 day and an hour l'intervalle peut être exprimée comme 25 HOUR ou 90000 SECOND.

Vous ne pouvez pas effectuer d'opé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 

Évaluation: 4 - 1 vote

Ce contenu a été utile?
★★★★☆