Partager via


DateTimeDiff (requête NoSQL)

S’APPLIQUE À : NoSQL

Retourne la différence, sous forme d’entier signé, de la partie de date et d’heure spécifiée entre deux valeurs de date et d’heure.

Syntaxe

DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)

Arguments

Description
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.
start_date_time Chaîne de date et d’heure UTC (Coordinated Universal Time) au format ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.
end_date_time Chaîne de date et d’heure UTC (Coordinated Universal Time) au format ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.

Notes

Pour plus d’informations sur le format ISO 8601, consultez ISO 8601.

Types de retour

Retourne une valeur numérique qui est un entier signé.

Exemples

Les exemples suivants comparent le 4 février 2019 à 16:00 UTC au 5 mars 2018 05:00 UTC à l’aide de différentes parties de date et d’heure.

SELECT VALUE {
    diffPastYears: DateTimeDiff("yyyy", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastMonths: DateTimeDiff("mm", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastDays: DateTimeDiff("diffDays", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastHours: DateTimeDiff("hh", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffPastSeconds: DateTimeDiff("ss", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
    diffFutureYears: DateTimeDiff("yyyy", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureMonths: DateTimeDiff("mm", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureDays: DateTimeDiff("diffDays", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureHours: DateTimeDiff("hh", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
    diffFutureSeconds: DateTimeDiff("ss", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000")
}
[
  {
    "diffPastYears": -1,
    "diffPastMonths": -11,
    "diffPastHours": -8075,
    "diffPastSeconds": -29070000,
    "diffFutureYears": 1,
    "diffFutureMonths": 11,
    "diffFutureHours": 8075,
    "diffFutureSeconds": 29070000
  }
]

Remarques

  • Cette fonction retourne undefined pour ces raisons :
    • La partie date et heure spécifiée n’est pas valide.
    • La date et l’heure de l’argument de début ou de fin ne sont pas une chaîne de date et d’heure ISO 8601 valide.
  • 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 |
  • La fonction retourne toujours une valeur entière signée. La fonction retourne une mesure du nombre de limites franchies pour la partie date et heure spécifiée, et non une mesure de l’intervalle de temps.