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("dd", "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("dd", "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,
"diffPastDays": -336,
"diffPastHours": -8075,
"diffPastSeconds": -29070000,
"diffFutureYears": 1,
"diffFutureMonths": 11,
"diffFutureDays": 336,
"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.