* 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
3.5 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
61 | Intervalle |
Intervalle
Famille de types de données représentant des intervalles d'heure 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 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
- INTERVAL opérateur
- toInterval type fonctions de conversion