Partager via


DateTimeBin (requête NoSQL)

S’APPLIQUE À : NoSQL

Retourne une valeur de chaîne de date et d’heure résultant du binning (ou de l’arrondi) d’une partie de la chaîne de date et d’heure fournie.

Syntaxe

DateTimeBin(<date_time> , <date_time_part> [, <bin_size>] [, <bin_start_date_time>]) 

Arguments

Description
date_time Chaîne de date et d’heure UTC (Coordinated Universal Time) au format ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.
date_time_part Chaîne représentant une partie d’une spécification de format de date ISO 8601. Cette partie est utilisée pour indiquer l’aspect de la date à comparer. Plus précisément, cet argument de partie représente le niveau de granularité du binning (ou de l’arrondi). La granularité minimale de la partie est jours et la granularité maximale est nanosecondes.
bin_size(Facultatif) Valeur numérique facultative spécifiant la taille de la classe. Si elle n’est pas spécifiée, la valeur par défaut est 1.
bin_start_date_time(Facultatif) Chaîne de date et d’heure UTC (Coordinated Universal Time) facultative au format ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ. Cet argument de date et d’heure spécifie la date de début à partir de laquelle effectuer le binning. Si elle n’est pas spécifiée, la valeur par défaut est l’époque Unix 1970-01-01T00:00:00.000000Z.

Notes

Pour plus d’informations sur le format ISO 8601, consultez ISO 8601. Pour plus d’informations sur l’epoch Unix, consultez Heure Unix.

Types de retour

Retourne une chaîne de date et d’heure UTC au format ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.

Exemples

L’exemple suivant effectue le binning de la date du 8 janvier 2021 à 18:35 UTC selon différentes valeurs. L’exemple modifie également la taille de la classe, ainsi que la date et l’heure de début du binning.

SELECT VALUE {
    binDay: DateTimeBin("2021-01-08T18:35:00.0000000", "dd"),
    binHour: DateTimeBin("2021-01-08T18:35:00.0000000", "hh"),
    binSecond: DateTimeBin("2021-01-08T18:35:00.0000000", "ss"),
    binFiveHours: DateTimeBin("2021-01-08T18:35:00.0000000", "hh", 5),
    binSevenDaysUnixEpoch: DateTimeBin("2021-01-08T18:35:00.0000000", "dd", 7),
    binSevenDaysWindowsEpoch: DateTimeBin("2021-01-08T18:35:00.0000000", "dd", 7, "1601-01-01T00:00:00.0000000")
}
[
  {
    "binDay": "2021-01-08T00:00:00.0000000Z",
    "binHour": "2021-01-08T18:00:00.0000000Z",
    "binSecond": "2021-01-08T18:35:00.0000000Z",
    "binFiveHours": "2021-01-08T15:00:00.0000000Z",
    "binSevenDaysUnixEpoch": "2021-01-07T00:00:00.0000000Z",
    "binSevenDaysWindowsEpoch": "2021-01-04T00:00:00.0000000Z"
  }
]

Remarques

  • Cette fonction retourne undefined pour ces raisons :
    • La partie date et heure spécifiée n’est pas valide.
    • La valeur de taille de classe n’est pas un entier valide, est égale à zéro ou est négative.
    • La date et l’heure de l’un des arguments ne sont pas une chaîne de date et d’heure ISO 8601 valide.
    • La date et l’heure du début du binning précèdent l’année 1601, l’époque Windows.
  • Le format de date ISO 8601 spécifie des parties de date et d’heure valides à utiliser avec cette fonction : | | Format | | --- | --- | | Jour | day, dd, d | | Heure | hour, hh | | Minute | minute, mi, n | | Seconde | second, ss, s | | Milliseconde | millisecond, ms | | Microseconde | microsecond, mcs | | Nanoseconde | nanosecond, ns |