Europe/Amsterdam. Dans ce cas, le fuseau horaire utilisé est celui qui est spécifié, au lieu du fuseau horaire local (par défaut).
Exemple
Pour assurer la compatibilité avec la norme SQL, les fonctions suivantes,
NOW, CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP, TODAY et CURRENT_DATE, peuvent être utilisées sans parenthèses.UTCTimestamp
now('UTC'). Elle a été ajoutée uniquement pour la compatibilité avec MySQL. now est l’usage recommandé.
Syntaxe
UTC_timestamp
Arguments
- Aucun.
DateTime
Exemples
Obtenir l’horodatage UTC actuel
Query
Response
YYYYMMDDToDate
Date.
Cette fonction est l’opposé de la fonction toYYYYMMDD().
Le résultat est indéfini si l’entrée n’encode pas une valeur Date valide.
Syntaxe
Date à partir des arguments fournis Date
Exemples
Exemple
Query
Response
YYYYMMDDToDate32
Date32.
Cette fonction est l’inverse de la fonction toYYYYMMDD().
Le résultat est indéfini si l’entrée n’encode pas une valeur Date32 valide.
Syntaxe
Date32 à partir des arguments fournis Date32
Exemples
Exemple
Query
Response
YYYYMMDDhhmmssToDateTime
DateTime.
Cette fonction est l’inverse de la fonction toYYYYMMDDhhmmss().
Le résultat est indéfini si l’entrée n’encode pas une valeur DateTime valide.
Syntaxe
YYYYMMDDhhmmss— Nombre contenant l’année, le mois, le jour, l’heure, les minutes et les secondes.(U)Int*ouFloat*ouDecimaltimezone— Nom du fuseau horaire.String
DateTime à partir des arguments fournis DateTime
Exemples
Exemple
Query
Response
YYYYMMDDhhmmssToDateTime64
DateTime64.
Cette fonction est l’inverse de la fonction toYYYYMMDDhhmmss().
La sortie est indéfinie si l’entrée n’encode pas une valeur DateTime64 valide.
Syntaxe
YYYYMMDDhhmmss— Nombre contenant l’année, le mois, le jour, l’heure, la minute et la seconde.(U)Int*ouFloat*ouDecimalprecision— Précision de la partie fractionnaire (0-9).UInt8timezone— Nom du fuseau horaire.String
DateTime64 à partir des arguments fournis DateTime64
Exemples
Exemple
Query
Response
addDate
datetime— La date ou la date et heure à laquelleintervalest ajouté.DateouDate32ouDateTimeouDateTime64ouStringinterval— Intervalle à ajouter.Interval
interval à datetime. Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter un intervalle à une date
Query
Response
addDays
datetime— Date ou date et heure à laquelle ajouter le nombre de jours spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de jours à ajouter.(U)Int*ouFloat*
datetime plus num jours. Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter des jours à différents types de dates
Query
Response
Query
Response
addHours
datetime— Date ou date et heure à laquelle ajouter le nombre d’heures spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre d’heures à ajouter.(U)Int*ouFloat*
datetime plus num heures DateTime ou DateTime64(3)
Exemples
Ajouter des heures à différents types de date
Query
Response
Query
Response
addInterval
Les intervalles du même type sont combinés en un seul intervalle. Par exemple, si
toIntervalDay(1) et toIntervalDay(2) sont transmis, le résultat sera (3) plutôt que (1,1).interval_1— Premier intervalle ou tuple d’intervalles.IntervalouTuple(Interval)interval_2— Deuxième intervalle à ajouter.Interval
Tuple(Interval)
Exemples
Ajouter des intervalles
Query
Response
addMicroseconds
datetime— Date et heure auxquelles ajouter le nombre spécifié de microsecondes.DateTimeouDateTime64ouStringnum— Nombre de microsecondes à ajouter.(U)Int*ouFloat*
date_time avec num microsecondes ajoutées DateTime64
Exemples
Ajouter des microsecondes à différents types de date et heure
Query
Response
Query
Response
addMilliseconds
datetime— Date et heure auxquelles ajouter le nombre spécifié de millisecondes.DateTimeouDateTime64ouStringnum— Nombre de millisecondes à ajouter.(U)Int*ouFloat*
datetime plus num millisecondes DateTime64
Exemples
Ajouter des millisecondes à différents types de date et heure
Query
Response
Query
Response
addMinutes
datetime— Date ou date et heure à laquelle ajouter le nombre de minutes spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de minutes à ajouter.(U)Int*ouFloat*
datetime plus num minutes. DateTime ou DateTime64(3)
Exemples
Ajouter des minutes à différents types de dates
Query
Response
Query
Response
addMonths
datetime— Date ou date et heure à laquelle ajouter le nombre de mois spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de mois à ajouter.(U)Int*ouFloat*
datetime plus num mois. Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter des mois à différents types de date
Query
Response
Query
Response
addNanoseconds
datetime— Date et heure auxquelles ajouter le nombre spécifié de nanosecondes.DateTimeouDateTime64ouStringnum— Nombre de nanosecondes à ajouter.(U)Int*ouFloat*
datetime plus num nanosecondes DateTime64
Exemples
Ajouter des nanosecondes à différents types date-heure
Query
Response
Query
Response
addQuarters
datetime— Date ou date et heure à laquelle ajouter le nombre de trimestres spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de trimestres à ajouter.(U)Int*ouFloat*
datetime plus num trimestres Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter des trimestres à différents types de dates
Query
Response
Query
Response
addSeconds
datetime— Date ou date et heure à laquelle ajouter le nombre de secondes spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de secondes à ajouter.(U)Int*ouFloat*
datetime plus num secondes DateTime ou DateTime64(3)
Exemples
Ajouter des secondes à différents types de date
Query
Response
Query
Response
addTupleOfIntervals
datetime— Date ou date avec heure à laquelle ajouter les intervalles.DateouDate32ouDateTimeouDateTime64intervals— Tuple d’intervalles à ajouter àdatetime.Tuple(Interval)
date après ajout des intervals Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter un tuple d’intervalles à une date
Query
Response
addWeeks
datetime— Date ou date avec heure à laquelle ajouter le nombre de semaines indiqué.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de semaines à ajouter.(U)Int*ouFloat*
datetime plus num semaines. Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter des semaines à différents types de dates
Query
Response
Query
Response
addYears
datetime— Date ou date avec heure à laquelle ajouter le nombre d’années spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre d’années à ajouter.(U)Int*ouFloat*
datetime plus num ans. Date ou Date32 ou DateTime ou DateTime64
Exemples
Ajouter des années à différents types de dates
Query
Response
Query
Response
age
startdate et enddate.
La différence est calculée avec une précision de 1 nanoseconde.
Par exemple, la différence entre 2021-12-29 et 2022-01-01 est de 3 jours pour l’unité jour,
de 0 mois pour l’unité mois et de 0 an pour l’unité année.
Pour une alternative à age, voir la fonction dateDiff.
Syntaxe
unit— Le type d’intervalle du résultat.
| Unité | Valeurs possibles |
|---|---|
| nanosecond | nanosecond, nanoseconds, ns |
| microsecond | microsecond, microseconds, us, u |
| millisecond | millisecond, milliseconds, ms |
| second | second, seconds, ss, s |
| minute | minute, minutes, mi, n |
| hour | hour, hours, hh, h |
| day | day, days, dd, d |
| week | week, weeks, wk, ww |
| month | month, months, mm, m |
| quarter | quarter, quarters, qq, q |
| year | year, years, yyyy, yy |
startdate— Première valeur temporelle à soustraire (le terme soustrait).DateouDate32ouDateTimeouDateTime64enddate— Deuxième valeur temporelle à partir de laquelle soustraire (le terme duquel on soustrait).DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Nom du fuseau horaire. S’il est spécifié, il s’applique àstartdateet àenddate. S’il n’est pas spécifié, les fuseaux horaires destartdateetenddatesont utilisés. S’ils ne sont pas identiques, le résultat n’est pas défini.String
enddate et startdate, exprimée en unit. Int32
Exemples
Calcul de l’âge en heures
Query
Response
Query
Response
changeDay
date_or_datetime— La valeur à modifier.DateouDate32ouDateTimeouDateTime64value— La nouvelle valeur.(U)Int*
date_or_datetime dont la composante de jour a été modifiée. Date ou Date32 ou DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
changeHour
date_or_datetime— La valeur à modifier.DateouDate32ouDateTimeouDateTime64value— La nouvelle valeur.(U)Int*
date_or_datetime, avec la composante heure modifiée. DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
changeMinute
date ou date/heure.
Syntaxe
date_or_datetime— Valeur à modifier.DateouDate32ouDateTimeouDateTime64value— Nouvelle valeur.(U)Int*
date_or_datetime, dont la composante minute est modifiée. DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
changeMonth
date_or_datetime— Valeur à modifier.DateouDate32ouDateTimeouDateTime64value— Nouvelle valeur.(U)Int*
date_or_datetime dont le mois a été modifié. Date ou Date32 ou DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
changeSecond
date_or_datetime— La valeur à modifier.DateouDate32ouDateTimeouDateTime64value— La nouvelle valeur.(U)Int*
date_or_datetime dont la composante des secondes est modifiée. DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
changeYear
date_or_datetime— La valeur à modifier.DateouDate32ouDateTimeouDateTime64value— La nouvelle valeur.(U)Int*
date_or_datetime dont la composante année a été modifiée. Date ou Date32 ou DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
dateDiff
unit spécifié franchies entre startdate et enddate.
La différence est calculée à l’aide d’unités relatives. Par exemple, la différence entre 2021-12-29 et 2022-01-01 est de 3 jours pour l’unité day
(voir toRelativeDayNum), de 1 mois pour l’unité month (voir toRelativeMonthNum) et de 1 an pour l’unité year
(voir toRelativeYearNum).
Si l’unité week est spécifiée, dateDiff considère que les semaines commencent le lundi.
Notez que ce comportement diffère de celui de la fonction toWeek(), dans laquelle les semaines commencent par défaut le dimanche.
Pour une alternative à dateDiff, voir la fonction age.
Syntaxe
timestampDiff, TIMESTAMP_DIFF, DATE_DIFF, date_diff, timestamp_diff
Arguments
unit— Le type d’intervalle du résultat.
| Unité | Valeurs possibles |
|---|---|
| nanosecond | nanosecond, nanoseconds, ns |
| microsecond | microsecond, microseconds, us, u |
| millisecond | millisecond, milliseconds, ms |
| second | second, seconds, ss, s |
| minute | minute, minutes, mi, n |
| hour | hour, hours, hh, h |
| day | day, days, dd, d |
| week | week, weeks, wk, ww |
| month | month, months, mm, m |
| quarter | quarter, quarters, qq, q |
| year | year, years, yyyy, yy |
startdate— La première valeur temporelle à soustraire (le terme soustrait).DateouDate32ouDateTimeouDateTime64enddate— La seconde valeur temporelle, de laquelle la première est soustraite (le terme diminué).DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Nom du fuseau horaire. S’il est spécifié, il s’applique à la fois àstartdateet àenddate. S’il n’est pas spécifié, les fuseaux horaires destartdateetenddatesont utilisés. S’ils ne sont pas identiques, le résultat n’est pas spécifié.String
enddate et startdate, exprimée en unit. Int64
Exemples
Calculer la différence entre deux dates en heures
Query
Response
Query
Response
dateName
- ‘year’
- ‘quarter’
- ‘month’
- ‘week’
- ‘dayofyear’
- ‘day’
- ‘weekday’
- ‘hour’
- ‘minute’
- ‘second’
date_part— La partie de la date que vous souhaitez extraire.Stringdatetime— Une valeur de date ou de date avec heure.DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Fuseau horaire.String
String
Exemples
Extraire différentes parties de la date
Query
Response
dateTrunc
DATE_TRUNC
Arguments
unit— Le type d’intervalle utilisé pour tronquer le résultat. Valeurs possibles :nanosecond(DateTime64 uniquement),microsecond(DateTime64 uniquement),millisecond(DateTime64 uniquement),second,minute,hour,day,week,month,quarter,year.Stringdatetime— Date et heure.DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Nom du fuseau horaire de la date et de l’heure renvoyées. S’il n’est pas spécifié, la fonction utilise le fuseau horaire du paramètredatetime.String
Argument unit | Argument datetime | Type de retour |
|---|---|---|
| Year, Quarter, Month, Week | Date32 ou DateTime64 ou Date ou DateTime | Date32 ou Date |
| Day, Hour, Minute, Second | Date32, DateTime64, Date ou DateTime | DateTime64 ou DateTime |
| Millisecond, Microsecond, | N’importe lequel | DateTime64 |
| Nanosecond | avec une échelle de 3, 6 ou 9 |
Query
Response
Query
Response
formatDateTime
format est une expression constante ; vous ne pouvez donc pas utiliser plusieurs formats pour une seule colonne de résultat.
formatDateTime utilise le style de format de date et d’heure de MySQL. Consultez la documentation MySQL.
L’opération inverse de cette fonction est parseDateTime.
À l’aide de champs de remplacement, vous pouvez définir un motif pour la chaîne résultante.
La colonne d’exemple du tableau ci-dessous montre le résultat du formatage pour 2018-01-02 22:33:44.
Champs de remplacement :
| Espace réservé | Description | Exemple |
|---|---|---|
| %a | nom abrégé du jour de la semaine (Mon-Sun) | Mon |
| %b | nom abrégé du mois (Jan-Dec) | Jan |
| %c | mois sous forme de nombre entier (01-12) | 01 |
| %C | année divisée par 100 et tronquée en entier (00-99) | 20 |
| %d | jour du mois, complété par des zéros (01-31) | 02 |
| %D | date courte MM/DD/YY, équivalente à %m/%d/%y | 01/02/18 |
| %e | jour du mois, complété par des espaces (1-31) | 2 |
| %f | fraction de seconde | 123456 |
| %F | date courte YYYY-MM-DD, équivalente à %Y-%m-%d | 2018-01-02 |
| %g | année sur deux chiffres, conforme à ISO 8601 | 18 |
| %G | année sur quatre chiffres pour le numéro de semaine ISO | 2018 |
| %h | heure au format 12 h (01-12) | 09 |
| %H | heure au format 24 h (00-23) | 22 |
| %i | minute (00-59) | 33 |
| %I | heure au format 12 h (01-12) | 10 |
| %j | jour de l’année (001-366) | 002 |
| %k | heure au format 24 h (00-23) | 14 |
| %l | heure au format 12 h (01-12) | 09 |
| %m | mois sous forme de nombre entier (01-12) | 01 |
| %M | nom complet du mois (January-December) | January |
| %n | caractère de nouvelle ligne | |
| %p | indicateur AM ou PM | PM |
| %Q | trimestre (1-4) | 1 |
| %r | heure HH:MM AM/PM au format 12 h, équivalente à %h:%i %p | 10:30 PM |
| %R | heure HH:MM au format 24 h, équivalente à %H:%i | 22:33 |
| %s | seconde (00-59) | 44 |
| %S | seconde (00-59) | 44 |
| %t | caractère de tabulation horizontale | |
| %T | format d’heure ISO 8601 (HH:MM:SS), équivalent à %H:%i:%S | 22:33:44 |
| %u | jour de la semaine ISO 8601 sous forme de nombre, avec lundi = 1 (1-7) | 2 |
| %V | numéro de semaine ISO 8601 (01-53) | 01 |
| %w | jour de la semaine sous forme de nombre entier, avec dimanche = 0 (0-6) | 2 |
| %W | nom complet du jour de la semaine (Monday-Sunday) | Monday |
| %y | année, deux derniers chiffres (00-99) | 18 |
| %Y | année | 2018 |
| %z | décalage horaire par rapport à l’UTC sous la forme +HHMM ou -HHMM | -0500 |
| %% | signe % | % |
- Dans les versions de ClickHouse antérieures à v23.4,
%faffiche un seul zéro (0) si la valeur formatée est de type Date, Date32 ou DateTime (qui n’ont pas de fractions de seconde), ou de type DateTime64 avec une précision de 0. - Dans les versions de ClickHouse antérieures à v25.1,
%faffiche autant de chiffres que l’échelle du DateTime64 l’indique, au lieu de 6 chiffres fixes. - Dans les versions de ClickHouse antérieures à v23.4,
%Maffiche la minute (00-59) au lieu du nom complet du mois (January-December).
DATE_FORMAT
Arguments
datetime— Une date ou une date et heure à formater.DateouDate32ouDateTimeouDateTime64format— Chaîne de format avec des champs de remplacement.Stringtimezone— Facultatif. Nom du fuseau horaire pour l’heure formatée.String
String
Exemples
Formater une date avec le champ de remplacement de l’année
Query
Response
Query
Response
Query
Response
formatDateTimeInJodaSyntax
formatDateTime, sauf qu’il met en forme les valeurs datetime au format Joda plutôt qu’au format MySQL. Consultez la documentation Joda Time.
L’opération inverse de cette fonction est parseDateTimeInJodaSyntax.
À l’aide de champs de remplacement, vous pouvez définir un modèle pour la chaîne résultante.
Champs de remplacement :
| Espace réservé | Description | Présentation | Exemples |
|---|---|---|---|
| G | ère | texte | AD |
| C | siècle de l’ère (>=0) | nombre | 20 |
| Y | année de l’ère (>=0) | année | 1996 |
| x | année de semaine (pas encore prise en charge) | année | 1996 |
| w | semaine de l’année de semaine (pas encore prise en charge) | nombre | 27 |
| e | jour de la semaine | nombre | 2 |
| E | jour de la semaine | texte | Tuesday; Tue |
| y | année | année | 1996 |
| D | jour de l’année | nombre | 189 |
| M | mois de l’année | mois | July; Jul; 07 |
| d | jour du mois | nombre | 10 |
| a | moitié de journée | texte | PM |
| K | heure de la moitié de journée (0~11) | nombre | 0 |
| h | heure sur 12 heures (1~12) | nombre | 12 |
| H | heure du jour (0~23) | nombre | 0 |
| k | heure sur 24 heures (1~24) | nombre | 24 |
| m | minute de l’heure | nombre | 30 |
| s | seconde de la minute | nombre | 55 |
| S | fraction de seconde | nombre | 978 |
| z | fuseau horaire | texte | Eastern Standard Time; EST |
| Z | décalage du fuseau horaire | zone | -0800; -0812 |
| ’ | caractère d’échappement pour le texte | délimiteur | |
| ” | apostrophe | littéral | ’ |
datetime— Une date ou une date et une heure à formater.DateTimeouDateouDate32ouDateTime64format— Chaîne de format avec des champs de remplacement de style Joda.Stringtimezone— Facultatif. Nom du fuseau horaire pour la date et l’heure formatées.String
String
Exemples
Formater une date et une heure avec la syntaxe Joda
Query
Response
fromDaysSinceYearZero
FROM_DAYS(). Le résultat est indéfini s’il ne peut pas être représenté dans les limites du type Date.
Syntaxe
FROM_DAYS
Arguments
days— Le nombre de jours écoulés depuis l’année zéro.UInt32
Date
Exemples
Convertir le nombre de jours écoulés depuis l’année zéro en dates
Query
Response
fromDaysSinceYearZero32
FROM_DAYS() de MySQL. Le résultat est indéfini s’il ne peut pas être représenté dans les limites du type Date32.
Syntaxe
days— Le nombre de jours écoulés depuis l’année zéro.UInt32
Date32
Exemples
Convertir les jours écoulés depuis l’année zéro en dates
Query
Response
fromModifiedJulianDay
YYYY-MM-DD. Cette fonction prend en charge les numéros de jour compris entre -678941 et 2973483 (qui représentent respectivement 0000-01-01 et 9999-12-31). Elle génère une exception si le numéro de jour se situe hors de la plage prise en charge.
Syntaxe
day— numéro de jour julien modifié.(U)Int*
String
Exemples
Convertir un jour julien modifié en date
Query
Response
fromModifiedJulianDayOrNull
fromModifiedJulianDay(), mais au lieu de générer une exception, cette fonction renvoie NULL.
Syntaxe
day— numéro de jour julien modifié.(U)Int*
day valide, sinon null. Nullable(String)
Exemples
Convertir le jour julien modifié en date avec gestion des valeurs nulles
Query
Response
fromUTCTimestamp
from_utc_timestamp
Arguments
datetime— Une valeur constante de type date ou date avec heure, ou une expression.DateTimeouDateTime64time_zone— Une valeur constante de type String ou une expression représentant le fuseau horaire.String
DateTime ou DateTime64
Exemples
Convertir du fuseau horaire UTC vers le fuseau horaire spécifié
Query
Response
fromUnixTimestamp
- Lorsqu’on lui passe un seul argument de type
Integer, elle renvoie une valeur de typeDateTime, c’est-à-dire qu’elle se comporte commetoDateTime. - Lorsqu’on lui passe deux ou trois arguments, où le premier est une valeur de type
Integer,Date,Date32,DateTimeouDateTime64, le deuxième une chaîne de format constante et le troisième une chaîne constante facultative de fuseau horaire, la fonction renvoie une valeur de typeString, c’est-à-dire qu’elle se comporte commeformatDateTime. Dans ce cas, le style de format datetime de MySQL est utilisé.
FROM_UNIXTIME
Arguments
timestamp— Horodatage Unix ou valeur de date/date avec heure.(U)Int*ouDateouDate32ouDateTimeouDateTime64format— Facultatif. Chaîne de format constante pour le formatage de sortie.Stringtimezone— Facultatif. Chaîne constante de fuseau horaire.String
DateTime correspondant à l’horodatage lorsqu’elle est appelée avec un argument, ou une String lorsqu’elle est appelée avec deux ou trois arguments. DateTime ou String
Exemples
Convertir un horodatage Unix en DateTime
Query
Response
Query
Response
fromUnixTimestampInJodaSyntax
Integer est fourni, elle renvoie une valeur de type DateTime, c’est-à-dire qu’elle se comporte comme toDateTime.
Lorsque deux ou trois arguments sont fournis, le premier argument étant une valeur de type Integer, Date, Date32, DateTime ou DateTime64, le deuxième argument une chaîne de format constante et le troisième une chaîne constante facultative indiquant le fuseau horaire, la fonction renvoie une valeur de type String, c’est-à-dire qu’elle se comporte comme formatDateTimeInJodaSyntax. Dans ce cas, le style de format date-heure de Joda est utilisé.
Syntaxe
timestamp— Horodatage Unix ou valeur de date/heure.(U)Int*ouDateouDate32ouDateTimeouDateTime64format— Facultatif. Chaîne de format constante utilisant la syntaxe Joda pour le formatage de sortie.Stringtimezone— Facultatif. Chaîne constante de fuseau horaire.String
String lorsqu’elle est appelée avec deux ou trois arguments.} DateTime ou String
Exemples
Convertir un horodatage Unix au format Joda
Query
Response
localtime
LOCALTIME SQL standard / PostgreSQL, et elle est équivalente à CAST(now() AS Time).
Syntaxe
- Aucun.
Time
Exemples
Syntaxe SQL standard sans parenthèses
Query
Response
makeDate
Date à partir de l’un des éléments suivants :
- une année, un mois et un jour
- une année et le quantième du jour dans l’année
year— Numéro de l’année.(U)Int*ouFloat*ouDecimalmonth— Numéro du mois (1-12).(U)Int*ouFloat*ouDecimalday— Jour du mois (1-31).(U)Int*ouFloat*ouDecimalday_of_year— Jour de l’année (1-365).(U)Int*ouFloat*ouDecimal
Date construite à partir des arguments fournis Date
Exemples
Date à partir d’une année, d’un mois et d’un jour
Query
Response
Query
Response
makeDate32
Date32 à partir de :
- une année, un mois et un jour
- une année et le jour de l’année
year— Numéro de l’année.(U)Int*ouFloat*ouDecimalmonth— Numéro du mois (1-12).(U)Int*ouFloat*ouDecimalday— Jour du mois (1-31).(U)Int*ouFloat*ouDecimalday_of_year— Jour de l’année (1-365).(U)Int*ouFloat*ouDecimal
Date32 construite à partir des arguments fournis Date32
Exemples
Date32 à partir d’une année, d’un mois et d’un jour
Query
Response
Query
Response
makeDateTime
DateTime à partir de l’année, du mois, du jour, de l’heure, de la minute et de la seconde, avec un fuseau horaire facultatif.
Syntaxe
year— Numéro de l’année.(U)Int*ouFloat*ouDecimalmonth— Numéro du mois (1-12).(U)Int*ouFloat*ouDecimalday— Jour du mois (1-31).(U)Int*ouFloat*ouDecimalhour— Heure (0-23).(U)Int*ouFloat*ouDecimalminute— Minute (0-59).(U)Int*ouFloat*ouDecimalsecond— Seconde (0-59).(U)Int*ouFloat*ouDecimaltimezone— Nom du fuseau horaire.String
DateTime construite à partir des arguments fournis DateTime
Exemples
DateTime à partir de l’année, du mois, du jour, de l’heure, de la minute et de la seconde
Query
Response
makeDateTime64
DateTime64 à partir de l’année, du mois, du jour, de l’heure, de la minute, de la seconde, avec une fraction, une précision et un fuseau horaire facultatifs.
Syntaxe
year— Numéro de l’année.(U)Int*ouFloat*ouDecimalmonth— Numéro du mois (1-12).(U)Int*ouFloat*ouDecimalday— Jour du mois (1-31).(U)Int*ouFloat*ouDecimalhour— Heure (0-23).(U)Int*ouFloat*ouDecimalminute— Minute (0-59).(U)Int*ouFloat*ouDecimalsecond— Seconde (0-59).(U)Int*ouFloat*ouDecimalfraction— Partie fractionnaire de la seconde.(U)Int*ouFloat*ouDecimalprecision— Précision de la partie fractionnaire (0-9).UInt8timezone— Nom du fuseau horaire.String
DateTime64 construite à partir des arguments fournis DateTime64
Exemples
DateTime64 à partir de l’année, du mois, du jour, de l’heure, de la minute et de la seconde
Query
Response
monthName
datetime— Date ou date et heure.DateouDate32ouDateTimeouDateTime64
String
Exemples
Obtenir le nom du mois à partir d’une date
Query
Response
now
localtimestamp, current_timestamp
Arguments
timezone— Facultatif. Nom du fuseau horaire pour la valeur renvoyée.String
DateTime
Exemples
Requête sans fuseau horaire
Query
Response
Query
Response
Query
Response
now64
scale— Facultatif. Taille du tick (précision) : 10^-precision secondes. Plage valide : [0 : 9]. En général, on utilise 3 (par défaut) (millisecondes), 6 (microsecondes) et 9 (nanosecondes).UInt8timezone— Facultatif. Nom du fuseau horaire pour la valeur renvoyée.String
DateTime64
Exemples
Requête avec la précision par défaut et une précision personnalisée
Query
Response
nowInBlock
now, il ne s’agit pas d’une expression constante, et la valeur renvoyée diffère d’un bloc à l’autre dans les requêtes de longue durée.
Cette fonction est utile pour générer l’heure actuelle dans les requêtes INSERT SELECT de longue durée.
Syntaxe
timezone— Facultatif. Nom du fuseau horaire de la valeur renvoyée.String
DateTime
Exemples
Différence avec la fonction now()
Query
Response
nowInBlock64
scale— Facultatif. Taille du tick (précision) : 10^-precision seconde. Plage valide : [0 : 9]. Les valeurs généralement utilisées sont 3 (par défaut) (millisecondes), 6 (microsecondes), 9 (nanosecondes).UInt8timezone— Facultatif. Nom du fuseau horaire pour la valeur renvoyée.String
DateTime64
Exemples
Différence avec la fonction now64()
Query
Response
serverTimezone
timezone.
Si la fonction est exécutée dans le contexte d’une table distribuée, elle génère une colonne normale avec des valeurs correspondant à chaque shard. Sinon, elle renvoie une valeur constante.
Syntaxe
serverTimeZone
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
subDate
datetime— La date, avec ou sans heure, à laquelleintervalest soustrait.DateouDate32ouDateTimeouDateTime64interval— Intervalle à soustraire.Interval
interval à datetime. Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraire un intervalle à une date
Query
Response
subtractDays
datetime— Date ou date avec heure à laquelle soustraire le nombre de jours spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de jours à soustraire.(U)Int*ouFloat*
datetime moins num jours Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraire des jours à différents types de date
Query
Response
Query
Response
subtractHours
datetime— Date ou date avec heure à laquelle soustraire le nombre d’heures spécifié.DateorDate32orDateTimeorDateTime64orStringnum— Nombre d’heures à soustraire.(U)Int*orFloat*
datetime moins num heures DateTime or DateTime64(3)
Exemples
Soustraire des heures à différents types de date
Query
Response
Query
Response
subtractInterval
toIntervalDay(2) et toIntervalDay(1) sont
passés, le résultat sera (1) plutôt que (2,1).
Syntaxe
interval_1— Premier intervalle ou tuple d’intervalles.IntervalouTuple(Interval)interval_2— Deuxième intervalle à rendre négatif.Interval
Tuple(T)
Exemples
Soustraction d’intervalles
Query
Response
subtractMicroseconds
datetime— Date avec heure de laquelle soustraire le nombre spécifié de microsecondes.DateTimeouDateTime64ouStringnum— Nombre de microsecondes à soustraire.(U)Int*ouFloat*
datetime moins num microsecondes DateTime64
Exemples
Soustraire des microsecondes de différents types de date avec heure
Query
Response
Query
Response
subtractMilliseconds
datetime— Date avec heure à laquelle soustraire le nombre spécifié de millisecondes.DateTimeouDateTime64ouStringnum— Nombre de millisecondes à soustraire.(U)Int*ouFloat*
datetime moins num millisecondes. DateTime64
Exemples
Soustraire des millisecondes à différents types de dates et d’heures
Query
Response
Query
Response
subtractMinutes
datetime— Date ou date avec heure à laquelle soustraire le nombre de minutes spécifié.DateorDate32orDateTimeorDateTime64orStringnum— Nombre de minutes à soustraire.(U)Int*orFloat*
datetime moins num minutes. DateTime or DateTime64(3)
Exemples
Soustraire des minutes à différents types de dates
Query
Response
Query
Response
subtractMonths
datetime— Date ou date avec heure à laquelle soustraire le nombre de mois spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de mois à soustraire.(U)Int*ouFloat*
datetime moins num mois. Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraction de mois à différents types de date
Query
Response
Query
Response
subtractNanoseconds
datetime— Date avec heure dont il faut soustraire le nombre spécifié de nanosecondes.DateTimeouDateTime64ouStringnum— Nombre de nanosecondes à soustraire.(U)Int*ouFloat*
datetime moins num nanosecondes DateTime64
Exemples
Soustraire des nanosecondes à différents types de date avec heure
Query
Response
Query
Response
subtractQuarters
datetime— Date ou date avec heure à partir de laquelle soustraire le nombre de trimestres spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de trimestres à soustraire.(U)Int*ouFloat*
datetime moins num trimestres Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraire des trimestres à différents types de dates
Query
Response
Query
Response
subtractSeconds
datetime— Date ou date avec heure à laquelle soustraire le nombre de secondes spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de secondes à soustraire.(U)Int*ouFloat*
datetime moins num secondes. DateTime ou DateTime64(3)
Exemples
Soustraire des secondes à différents types de dates
Query
Response
Query
Response
subtractTupleOfIntervals
datetime— Date ou date avec heure à laquelle soustraire les intervalles.DateorDate32orDateTimeorDateTime64intervals— Tuple d’intervalles à soustraire àdatetime.Tuple(Interval)
date après soustraction des intervals Date or Date32 or DateTime or DateTime64
Exemples
Soustraire un tuple d’intervalles d’une date
Query
Response
subtractWeeks
datetime— Date ou date avec heure à laquelle soustraire le nombre de semaines spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre de semaines à soustraire.(U)Int*ouFloat*
datetime moins num semaines. Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraire des semaines à différents types de dates
Query
Response
Query
Response
subtractYears
datetime— Date ou date avec heure à laquelle soustraire le nombre d’années spécifié.DateouDate32ouDateTimeouDateTime64ouStringnum— Nombre d’années à soustraire.(U)Int*ouFloat*
datetime moins num ans Date ou Date32 ou DateTime ou DateTime64
Exemples
Soustraire des années à différents types de date
Query
Response
Query
Response
timeDiff
enddate - startdate.
Cette fonction est équivalente à dateDiff('second', startdate, enddate).
Pour calculer des différences de temps dans d’autres unités (heures, jours, mois, etc.), utilisez plutôt la fonction dateDiff.
Syntaxe
startdate— La première valeur temporelle à soustraire (le terme soustrait).DateouDate32ouDateTimeouDateTime64enddate— La deuxième valeur temporelle à partir de laquelle soustraire (le terme de départ).DateouDate32ouDateTimeouDateTime64
enddate et startdate, exprimée en secondes. Int64
Exemples
Calculer la différence en secondes
Query
Response
Query
Response
Query
Response
timeSlot
Bien que cette fonction puisse prendre en argument des valeurs des types étendus
Date32 et DateTime64,
lui transmettre une heure en dehors de la plage normale (de 1970 à 2149 pour Date / 2106 pour DateTime) produira des résultats erronés.time— Heure à arrondir au début d’un intervalle d’une demi-heure.DateTimeouDate32ouDateTime64time_zone— Facultatif. Valeur constante de type String ou expression représentant le fuseau horaire.String
DateTime
Exemples
Arrondir l’heure à un intervalle d’une demi-heure
Query
Response
timeSlots
StartTime et durant Duration secondes, cette fonction renvoie un tableau d’instants correspondant aux points de cet intervalle, arrondis à l’inférieur selon Size secondes. Size est un paramètre facultatif dont la valeur par défaut est 1800 (30 minutes).
Cela est nécessaire, par exemple, pour rechercher des pages vues dans la session correspondante.
Pour DateTime64, la scale de la valeur renvoyée peut différer de celle de StartTime. La scale la plus élevée parmi tous les arguments fournis est utilisée.
Syntaxe
StartTime— Heure de début de l’intervalle.DateTimeouDateTime64Duration— Durée de l’intervalle en secondes.UInt32ouDateTime64Size— Facultatif. Taille des créneaux horaires en secondes. La valeur par défaut est 1800 (30 minutes).UInt32ouDateTime64
StartTime). Pour DateTime64, la précision de la valeur renvoyée peut différer de celle de StartTime ; la plus élevée parmi tous les arguments fournis est retenue. Array(DateTime) ou Array(DateTime64)
Exemples
Générer des créneaux horaires pour un intervalle
Query
Response
timestamp
expr en type DateTime64(6).
Si un deuxième argument expr_time est fourni, il ajoute l’heure spécifiée à la valeur convertie.
Syntaxe
expr— Date ou date avec heure.Stringexpr_time— Facultatif. Heure à ajouter à la valeur convertie.String
expr, ou expr après ajout de l’heure DateTime64(6)
Exemples
Convertir une chaîne de date en DateTime64(6)
Query
Response
Query
Response
timezone
timeZone
Arguments
- Aucun.
String
Exemples
Exemple d’utilisation
Query
Response
timezoneOf
DateTime ou DateTime64.
Syntaxe
timeZoneOf
Arguments
datetime— Une valeur de typeDateTimeouDateTime64timezone— Facultatif. Nom du fuseau horaire vers lequel convertir la valeurdatetime.String
datetime String
Exemples
Exemple d’utilisation
Query
Response
timezoneOffset
timeZoneOffset
Arguments
datetime— valeurDateTimedont il faut obtenir le décalage de fuseau horaire.DateTimeouDateTime64
Int32
Exemples
Exemple d’utilisation
Query
Response
toDayOfMonth
Date ou d’un DateTime.
Syntaxe
DAY, DAYOFMONTH
Arguments
datetime— Date ou date avec heure à partir de laquelle extraire le jour du mois.DateouDate32ouDateTimeouDateTime64
UInt8
Exemples
Exemple d’utilisation
Query
Response
toDayOfWeek
Date ou DateTime.
La forme à deux arguments de toDayOfWeek() permet de préciser si la semaine commence le lundi ou le dimanche,
et si la valeur renvoyée doit être comprise dans l’intervalle de 0 à 6 ou de 1 à 7.
| Mode | Premier jour de la semaine | Intervalle |
|---|---|---|
| 0 | Lundi | 1-7 : lundi = 1, mardi = 2, …, dimanche = 7 |
| 1 | Lundi | 0-6 : lundi = 0, mardi = 1, …, dimanche = 6 |
| 2 | Dimanche | 0-6 : dimanche = 0, lundi = 1, …, samedi = 6 |
| 3 | Dimanche | 1-7 : dimanche = 1, lundi = 2, …, samedi = 7 |
DAYOFWEEK
Arguments
datetime— Date ou date avec heure à partir de laquelle extraire le jour de la semaine.DateouDate32ouDateTimeouDateTime64mode— Facultatif. Entier spécifiant le mode de semaine (0-3). La valeur par défaut est 0 s’il est omis.UInt8timezone— Facultatif. Fuseau horaire à utiliser pour la conversion.String
Date ou DateTime donnée. UInt8
Exemples
Exemple d’utilisation
Query
Response
toDayOfYear
Date ou DateTime.
Syntaxe
DAYOFYEAR
Arguments
datetime— Date ou date avec heure à partir de laquelle obtenir le jour de l’année.DateouDate32ouDateTimeouDateTime64
UInt16
Exemples
Exemple d’utilisation
Query
Response
toDaysInMonth
Date ou d’un DateTime.
La valeur renvoyée est comprise entre 28 et 31.
Syntaxe
datetime— Date ou date avec heure à partir de laquelle obtenir le nombre de jours du mois.DateouDate32ouDateTimeouDateTime64
UInt8
Exemples
Exemple d’utilisation
Query
Response
toDaysSinceYearZero
TO_DAYS de MySQL.
Syntaxe
TO_DAYS
Arguments
date— La date ou la date avec heure pour laquelle calculer le nombre de jours écoulés depuis l’année zéro.DateouDate32ouDateTimeouDateTime64time_zone— Fuseau horaire.String
0000-01-01. UInt32
Exemples
Calculer le nombre de jours depuis l’année zéro
Query
Response
toHour
DateTime ou DateTime64.
Syntaxe
HOUR
Arguments
datetime— Date avec heure dont extraire l’heure.DateTimeouDateTime64
datetime. UInt8
Exemples
Exemple d’utilisation
Query
Response
toISOWeek
toWeek(date, 3).
Les semaines ISO commencent le lundi, et la première semaine de l’année contient le 4 janvier.
Conformément à la norme ISO 8601, les numéros de semaine vont de 1 à 53.
Notez que les dates proches du début ou de la fin d’une année peuvent renvoyer un numéro de semaine de l’année précédente ou suivante. Par exemple,
le 29 décembre 2025 renvoie la semaine 1, car cette date appartient à la première semaine qui contient le 4 janvier 2026.
Syntaxe
datetime— Date ou date avec heure à partir de laquelle obtenir le numéro de semaine ISO.DateouDateTimeouDate32ouDateTime64timezone— Facultatif. Fuseau horaire.String
UInt8
Exemples
Obtenir les numéros de semaine ISO
Query
Response
Query
Response
toISOYear
datetime— Valeur de type date ou date avec heure.DateouDate32ouDateTimeouDateTime64
UInt16
Exemples
Obtenir l’année ISO à partir de valeurs de date
Query
Response
toLastDayOfMonth
Le type de retour peut être configuré via le paramètre
enable_extended_results_for_datetime_functions.LAST_DAY
Arguments
value— La date ou la date avec heure à arrondir au dernier jour du mois.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Arrondir au dernier jour du mois
Query
Response
toLastDayOfWeek
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.datetime— Une date avec heure ou une date à convertir.DateouDateTimeouDate32ouDateTime64mode— Détermine le premier jour de la semaine, comme décrit dans la fonctiontoWeek(). Valeur par défaut :0.UInt8timezone— Facultatif. Fuseau horaire à utiliser pour la conversion. S’il n’est pas spécifié, le fuseau horaire du serveur est utilisé.String
Date ou Date32
Exemples
Arrondir au samedi ou au dimanche le plus proche
Query
Response
toMicrosecond
DateTime64.
Syntaxe
MICROSECOND
Arguments
datetime— Date et heure dont extraire la microseconde.DateTime64
datetime. UInt32
Exemples
Exemple d’utilisation
Query
Response
toMillisecond
DateTime ou DateTime64.
Syntaxe
MILLISECOND
Arguments
datetime— date et heure dont extraire la minute.DateTimeouDateTime64
datetime. UInt16
Exemples
Exemple d’utilisation
Query
Response
toMinute
Date ou DateTime.
Syntaxe
MINUTE
Arguments
datetime— Date et heure dont extraire la minute.DateTimeouDateTime64
datetime. UInt8
Exemples
Exemple d’utilisation
Query
Response
toModifiedJulianDay
YYYY-MM-DD, en un numéro de jour julien modifié de type Int32. Cette fonction prend en charge les dates comprises entre 0000-01-01 et 9999-12-31. Elle lève une exception si l’argument ne peut pas être interprété comme une date, ou si la date n’est pas valide.
Syntaxe
date— La date au format String.StringouFixedString
Int32
Exemples
Convertir une date en numéro de jour julien modifié
Query
Response
toModifiedJulianDayOrNull
toModifiedJulianDay(), mais au lieu de déclencher des exceptions, elle renvoie NULL.
Syntaxe
date— Date sous forme de texte.StringouFixedString
date est valide, sinon null. Nullable(Int32)
Exemples
Convertir une date en numéro de jour julien modifié avec gestion des valeurs nulles
Query
Response
toMonday
Le type de retour peut être configuré avec le paramètre
enable_extended_results_for_datetime_functions.value— date ou date avec heure à arrondir au lundi de la semaine.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Arrondir au lundi de la semaine
Query
Response
toMonth
Date ou DateTime.
Syntaxe
MONTH
Arguments
datetime— Date ou date avec heure à partir de laquelle extraire le mois.DateouDate32ouDateTimeouDateTime64
UInt8
Exemples
Exemple d’utilisation
Query
Response
toMonthNumSinceEpoch
date— Une date ou une date avec l’heure.DateouDateTimeouDateTime64
Query
Response
toNanosecond
DateTime64.
Syntaxe
NANOSECOND
Arguments
datetime— Date et heure dont extraire la nanoseconde.DateTime64
datetime. UInt32
Exemples
Exemple d’utilisation
Query
Response
toQuarter
Date ou DateTime donnée.
Syntaxe
QUARTER
Arguments
datetime— Date ou date avec heure à partir de laquelle extraire le trimestre de l’année.DateouDate32ouDateTimeouDateTime64
UInt8
Exemples
Exemple d’utilisation
Query
Response
toRelativeDayNum
toRelativeDayNum(dt1) - toRelativeDayNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir les numéros de jours relatifs
Query
Response
toRelativeHourNum
toRelativeHourNum(dt1) - toRelativeHourNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir les numéros d’heure relatifs
Query
Response
toRelativeMinuteNum
toRelativeMinuteNum(dt1) - toRelativeMinuteNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir les numéros de minute relatifs
Query
Response
toRelativeMonthNum
toRelativeMonthNum(dt1) - toRelativeMonthNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Récupérer les numéros relatifs des mois
Query
Response
toRelativeQuarterNum
toRelativeQuarterNum(dt1) - toRelativeQuarterNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir les numéros de trimestre relatifs
Query
Response
toRelativeSecondNum
toRelativeSecondNum(dt1) - toRelativeSecondNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir des numéros de secondes relatifs
Query
Response
toRelativeWeekNum
toRelativeWeekNum(dt1) - toRelativeWeekNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt32
Exemples
Obtenir les numéros de semaine relatifs
Query
Response
toRelativeYearNum
toRelativeYearNum(dt1) - toRelativeYearNum(dt2).
Syntaxe
date— Date ou date avec heure.DateouDateTimeouDateTime64
UInt16
Exemples
Obtenir les numéros relatifs d’année
Query
Response
toSecond
DateTime ou DateTime64.
Syntaxe
SECOND
Arguments
datetime— Date et heure dont il faut extraire la seconde.DateTimeouDateTime64
datetime. UInt8
Exemples
Exemple d’utilisation
Query
Response
toStartOfDay
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.DateTime ou DateTime64
Exemples
Arrondir à l’inférieur au début de la journée
Query
Response
toStartOfFifteenMinutes
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.datetime— Une date ou une date avec l’heure à arrondir.DateTimeouDateTime64
DateTime ou DateTime64
Exemples
Exemple
Query
Response
toStartOfFiveMinutes
Le type de retour peut être configuré à l’aide du paramètre
enable_extended_results_for_datetime_functions.toStartOfFiveMinute
Arguments
datetime— Une date et heure à arrondir.DateTimeouDateTime64
DateTime ou DateTime64
Exemples
Exemple
Query
Response
toStartOfHour
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.datetime— Une date et heure à arrondir.DateTimeouDateTime64
DateTime ou DateTime64
Exemples
Arrondir à l’inférieur au début de l’heure
Query
Response
toStartOfISOYear
Le type de retour peut être configuré via le paramètre
enable_extended_results_for_datetime_functions.value— La date ou date avec heure à arrondir à l’inférieur au premier jour de l’année ISO.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Arrondir à l’inférieur au premier jour de l’année ISO
Query
Response
toStartOfInterval
toStartOf*() selon la syntaxe toStartOfInterval(date_or_date_with_time, INTERVAL x unit [, time_zone]).
Par exemple :
toStartOfInterval(t, INTERVAL 1 YEAR)renvoie le même résultat quetoStartOfYear(t),toStartOfInterval(t, INTERVAL 1 MONTH)renvoie le même résultat quetoStartOfMonth(t),toStartOfInterval(t, INTERVAL 1 DAY)renvoie le même résultat quetoStartOfDay(t),toStartOfInterval(t, INTERVAL 15 MINUTE)renvoie le même résultat quetoStartOfFifteenMinutes(t).
| Interval | Début |
|---|---|
| YEAR | année 0 |
| QUARTER | 1900 T1 |
| MONTH | janvier 1900 |
| WEEK | 1970, 1re semaine (01-05) |
| DAY | 1970-01-01 |
| HOUR | (*) |
| MINUTE | 1970-01-01 00:00:00 |
| SECOND | 1970-01-01 00:00:00 |
| MILLISECOND | 1970-01-01 00:00:00 |
| MICROSECOND | 1970-01-01 00:00:00 |
| NANOSECOND | 1970-01-01 00:00:00 |
| (*) les intervalles en heures sont particuliers : le calcul est toujours effectué par rapport à 00:00:00 (minuit) du jour en cours. Par conséquent, seules | |
| les valeurs d’heure comprises entre 1 et 23 sont utiles. |
WEEK est spécifiée, toStartOfInterval considère que les semaines commencent le lundi. Notez que ce comportement diffère de celui de la fonction toStartOfWeek, dans laquelle les semaines commencent par défaut le dimanche.
La seconde surcharge émule la fonction time_bucket() de TimescaleDB, ou, dans PostgreSQL, la fonction date_bin().
Syntaxe
time_bucket, date_bin
Arguments
value— Valeur de type Date ou date avec heure à arrondir à l’unité inférieure.DateouDateTimeouDateTime64x— Nombre représentant la longueur de l’intervalle. -unit— Unité d’intervalle : YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND, NANOSECOND. -time_zone— Facultatif. Nom du fuseau horaire sous forme de chaîne. -origin— Facultatif. Point d’origine du calcul (deuxième surcharge uniquement).
DateTime
Exemples
Arrondi élémentaire d’un intervalle
Query
Response
Query
Response
toStartOfMicrosecond
datetime— Date et heure.DateTime64timezone— Facultatif. Fuseau horaire de la valeur renvoyée. S’il n’est pas indiqué, la fonction utilise le fuseau horaire du paramètrevalue.String
DateTime64
Exemples
Requête sans fuseau horaire
Query
Response
Query
Response
toStartOfMillisecond
datetime— Date et heure.DateTime64timezone— Facultatif. Fuseau horaire de la valeur renvoyée. S’il n’est pas précisé, la fonction utilise le fuseau horaire du paramètrevalue.String
DateTime64
Exemples
Requête sans fuseau horaire
Query
Response
Query
Response
toStartOfMinute
Le type de retour peut être configuré via le paramètre
enable_extended_results_for_datetime_functions.datetime— Une date et une heure à arrondir.DateTimeouDateTime64
DateTime ou DateTime64
Exemples
Arrondir à l’inférieur au début de la minute
Query
Response
toStartOfMonth
Le type de retour peut être configuré avec le paramètre
enable_extended_results_for_datetime_functions.value— La date ou la date avec heure à arrondir à l’inférieur au premier jour du mois.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Arrondir à l’inférieur au premier jour du mois
Query
Response
toStartOfNanosecond
datetime— Date et heure.DateTime64timezone— Facultatif. Fuseau horaire de la valeur de retour. S’il n’est pas spécifié, la fonction utilise celui du paramètrevalue.String
DateTime64
Exemples
Requête sans fuseau horaire
Query
Response
Query
Response
toStartOfQuarter
Le type de retour peut être configuré via le paramètre
enable_extended_results_for_datetime_functions.value— La date ou la date avec heure à ramener à l’inférieur au premier jour du trimestre.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Ramener à l’inférieur au premier jour du trimestre
Query
Response
toStartOfSecond
datetime— Date et heure dont il faut tronquer les fractions de seconde.DateTime64timezone— Facultatif. Fuseau horaire de la valeur renvoyée. S’il n’est pas spécifié, la fonction utilise le fuseau horaire du paramètrevalue.String
DateTime64
Exemples
Requête sans fuseau horaire
Query
Response
Query
Response
toStartOfTenMinutes
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.datetime— Une date et heure.DateTimeouDateTime64
DateTime ou DateTime64
Exemples
Exemple
Query
Response
toStartOfWeek
Le type de retour peut être configuré en définissant
enable_extended_results_for_datetime_functions.datetime— Une date, avec ou sans heure, à convertir.DateouDateTimeouDate32ouDateTime64mode— Détermine le premier jour de la semaine comme décrit dans la fonctiontoWeek(). Valeur par défaut :0.UInt8timezone— Le fuseau horaire à utiliser pour la conversion. S’il n’est pas spécifié, le fuseau horaire du serveur est utilisé.String
Date ou Date32
Exemples
Arrondir à la baisse au dimanche ou au lundi le plus proche
Query
Response
toStartOfYear
Date.
Le type de retour peut être configuré via le paramètre
enable_extended_results_for_datetime_functions.value— La date ou la date avec heure à arrondir vers le bas.DateouDate32ouDateTimeouDateTime64
Date
Exemples
Arrondir vers le bas au premier jour de l’année
Query
Response
toTimeWithFixedDate
1970-01-02,
mais l’instant exact est un détail d’implémentation susceptible d’évoluer à l’avenir.
toTime ne doit donc pas être utilisé seul.
La fonction sert principalement à calculer la différence horaire entre deux dates ou deux dates avec heure, par exemple toTime(dt1) - toTime(dt2).
Syntaxe
date— Date à convertir en heure.DateouDateTimeouDateTime64timezone— Facultatif. Fuseau horaire de la valeur renvoyée.String
DateTime
Exemples
Calculer l’écart horaire entre deux dates
Query
Response
toTimezone
DateTime ou DateTime64 vers le fuseau horaire spécifié.
La valeur interne (nombre de secondes Unix) des données ne change pas.
Seuls l’attribut de fuseau horaire de la valeur et sa représentation sous forme de chaîne changent.
Syntaxe
toTimeZone
Arguments
date— La valeur à convertir.DateTimeouDateTime64timezone— Le nom du fuseau horaire cible.String
DateTime ou DateTime64
Exemples
Exemple d’utilisation
Query
Response
toUTCTimestamp
to_utc_timestamp
Arguments
datetime— Une valeur constante de type date ou date et heure, ou une expression.DateTimeouDateTime64time_zone— Une valeur constante de type String ou une expression représentant le fuseau horaire.String
DateTime ou DateTime64
Exemples
Convertir un fuseau horaire en UTC
Query
Response
toUnixTimestamp
String, une Date ou une DateTime en timestamp Unix (nombre de secondes écoulées depuis 1970-01-01 00:00:00 UTC) au format UInt32.
Syntaxe
date— Valeur à convertir.DateouDate32ouDateTimeouDateTime64ouStringtimezone— Facultatif. Fuseau horaire à utiliser pour la conversion. S’il n’est pas spécifié, le fuseau horaire du serveur est utilisé.String
UInt32
Exemples
Exemple d’utilisation
Query
Response
toWeek
toWeek() permet d’indiquer si la semaine commence
le dimanche ou le lundi, et si la valeur renvoyée doit être comprise entre 0 et 53 ou entre 1 et 53.
toISOWeek() est une fonction de compatibilité équivalente à toWeek(date,3).
Le tableau suivant décrit le fonctionnement de l’argument mode.
| Mode | Premier jour de la semaine | Plage | La semaine 1 est la première semaine … |
|---|---|---|---|
| 0 | Dimanche | 0-53 | avec un dimanche dans cette année |
| 1 | Lundi | 0-53 | avec 4 jours ou plus dans cette année |
| 2 | Dimanche | 1-53 | avec un dimanche dans cette année |
| 3 | Lundi | 1-53 | avec 4 jours ou plus dans cette année |
| 4 | Dimanche | 0-53 | avec 4 jours ou plus dans cette année |
| 5 | Lundi | 0-53 | avec un lundi dans cette année |
| 6 | Dimanche | 1-53 | avec 4 jours ou plus dans cette année |
| 7 | Lundi | 1-53 | avec un lundi dans cette année |
| 8 | Dimanche | 1-53 | contient le 1er janvier |
| 9 | Lundi | 1-53 | contient le 1er janvier |
- Si la semaine contenant le 1er janvier compte 4 jours ou plus dans la nouvelle année, c’est la semaine 1.
- Sinon, c’est la dernière semaine de l’année précédente, et la semaine suivante est la semaine 1.
String dans un format pris en charge par parseDateTime64BestEffort(). La prise en charge des arguments de type chaîne n’existe que pour des raisons de compatibilité avec MySQL, requise par certains outils tiers. Comme la prise en charge des arguments de type chaîne pourrait à l’avenir dépendre de nouveaux paramètres de compatibilité MySQL, et que l’analyse de chaînes est généralement lente, il est recommandé de ne pas l’utiliser.
Syntaxe
week
Arguments
datetime— Date ou date avec heure dont extraire le numéro de semaine.DateouDateTimemode— Facultatif. Un mode de0à9détermine le premier jour de la semaine et la plage du numéro de semaine. Valeur par défaut :0. -time_zone— Facultatif. Fuseau horaire.String
UInt32
Exemples
Obtenir les numéros de semaine selon différents modes
Query
Response
toYYYYMM
UInt32 contenant l’année et le numéro du mois (YYYY * 100 + MM).
Accepte un deuxième argument optionnel timezone. S’il est fourni, timezone doit être une constante de chaîne.
Cette fonction est l’opposé de la fonction YYYYMMDDToDate().
Syntaxe
datetime— Une date ou une date avec heure à convertir.DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Fuseau horaire à utiliser pour la conversion. S’il est fourni, le fuseau horaire doit être une constante de chaîne.String
UInt32
Exemples
Convertir la date actuelle au format YYYYMM
Query
Response
toYYYYMMDD
UInt32 contenant l’année, le mois et le jour (YYYY * 10000 + MM * 100 + DD). Accepte un second argument de fuseau horaire facultatif. S’il est fourni, le fuseau horaire doit être une constante de chaîne.
Syntaxe
datetime— Une date ou une date avec composante horaire à convertir.DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Fuseau horaire pour la conversion. S’il est indiqué, le fuseau horaire doit être une constante de chaîne de caractères.String
UInt32 contenant l’année, le mois et le jour (YYYY * 10000 + MM * 100 + DD). UInt32
Exemples
Convertir la date actuelle au format YYYYMMDD
Query
Response
toYYYYMMDDhhmmss
UInt64 contenant l’année, le mois, le jour, l’heure, les minutes et les secondes (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss).
Accepte un second argument facultatif de fuseau horaire. S’il est fourni, le fuseau horaire doit être une constante de chaîne.
Syntaxe
datetime— Date ou date avec heure à convertir.DateouDate32ouDateTimeouDateTime64timezone— Facultatif. Fuseau horaire pour la conversion. S’il est fourni, le fuseau horaire doit être une constante de chaîne.String
UInt64 contenant l’année, le mois, le jour, l’heure, la minute et la seconde (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss). UInt64
Exemples
Convertir la date et l’heure actuelles au format YYYYMMDDhhmmss
Query
Response
toYear
Date ou DateTime.
Syntaxe
YEAR
Arguments
datetime— Date ou date avec heure à partir de laquelle extraire l’année.DateouDate32ouDateTimeouDateTime64
Date ou DateTime donnée. UInt16
Exemples
Exemple d’utilisation
Query
Response
toYearNumSinceEpoch
date— Une date ou une date et heure à convertir.DateouDateTimeouDateTime64
Query
Response
toYearWeek
toWeek().
Avertissement : le numéro de semaine renvoyé par toYearWeek() peut être différent de celui renvoyé par toWeek(). toWeek() renvoie toujours le numéro de semaine dans le contexte de l’année donnée, et si toWeek() renvoie 0, toYearWeek() renvoie la valeur correspondant à la dernière semaine de l’année précédente. Voir prev_yearWeek dans l’exemple ci-dessous.
Le premier argument peut aussi être spécifié sous forme de String, dans un format pris en charge par parseDateTime64BestEffort(). La prise en charge des arguments de type chaîne n’existe que pour des raisons de compatibilité avec MySQL, requise par certains outils tiers. Comme cette prise en charge pourrait à l’avenir dépendre de nouveaux paramètres de compatibilité MySQL et que l’analyse de chaînes est généralement lente, il est recommandé de ne pas l’utiliser.
Syntaxe
yearweek
Arguments
datetime— Date ou date avec heure pour laquelle obtenir l’année et le numéro de semaine.DateouDateTimemode— Facultatif. Une valeur de0à9qui détermine le premier jour de la semaine et la plage du numéro de semaine. Valeur par défaut :0. -timezone— Facultatif. Fuseau horaire.String
UInt32
Exemples
Obtenir des combinaisons année-semaine avec différents modes
Query
Response
today
toDate(now()).
Syntaxe
curdate, current_date
Arguments
- Aucun.
Date
Exemples
Exemple d’utilisation
Query
Response
Query
Response
yesterday
- Aucun.
Date
Exemples
Récupérer la date d’hier
Query
Response