DateTimeDiff (query NoSQL)

SI APPLICA A: NoSQL

Restituisce la differenza, come intero con segno, della parte di data e ora specificata tra due valori di data e ora.

Sintassi

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

Argomenti

Descrizione
date_time_part Stringa che rappresenta una parte di una specifica del formato di data ISO 8601. Questa parte viene utilizzata per indicare quale aspetto della data confrontare.
start_date_time Stringa di data e ora UTC (Coordinated Universal Time) nel formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .
end_date_time Stringa di data e ora UTC (Coordinated Universal Time) nel formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

Nota

Per altre informazioni sul formato ISO 8601, vedere ISO 8601.

Tipi restituiti

Restituisce un valore numerico che è un intero con segno.

Esempi

Gli esempi seguenti confrontano il 4 febbraio 2019 16:00 UTC e il 5 marzo 2018 05:00 UTC usando varie parti di data e ora.

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
  }
]

Osservazioni:

  • Questa funzione restituisce undefined per questi motivi:
    • La parte di data e ora specificata non è valida.
    • La data e l'ora nell'argomento start o end non sono una stringa di data e ora ISO 8601 valida.
  • Il formato di data ISO 8601 specifica parti di data e ora valide da utilizzare con questa funzione: | | Formato | | | --- | --- | | Giorno | day, dd, d | | Hour | hour, hh | | Minute | minute, mi, , n | | Secondo | second, ss, s | | Millisecondo | millisecond, ms | | Microsecondo | microsecond, mcs | | Nanosecondo | nanosecond, ns |
  • La funzione restituisce sempre un valore intero con segno. La funzione restituisce una misura del numero di limiti superati per la parte di data e ora specificata, non una misura dell'intervallo di tempo.