Comparteix a través de


DateTimeDiff (consulta NoSQL)

SE APLICA A: NoSQL

Devuelve la diferencia, como un entero con signo, de la parte de fecha y hora especificadas entre dos valores de fecha y hora.

Sintaxis

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

Argumentos

Descripción
date_time_part Cadena que representa una parte de una especificación de formato de fecha ISO 8601. Esta parte se usa para indicar qué aspecto de la fecha se va a comparar.
start_date_time Cadena de fecha y hora UTC (hora universal coordinada) en el formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.
end_date_time Cadena de fecha y hora UTC (hora universal coordinada) en el formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.

Nota

Para más información sobre el formato ISO 8601, consulte ISO_8601.

Tipos de valores devueltos

Devuelve un valor numérico que es un entero con signo.

Ejemplos

Los ejemplos siguientes comparan el 4 de febrero de 2019 16:00 UTC y el 5 de marzo de 2018 05:00 UTC con varias partes de fecha y hora.

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

Comentarios

  • Esta función devuelve undefined por estas razones:
    • La parte de fecha y hora especificadas no es válida.
    • La fecha y hora del argumento start o end no es una cadena de fecha y hora ISO 8601 válida.
  • El formato de fecha ISO 8601 especifica partes de fecha y hora válidas que se usarán con esta función: | | Formato | | --- | --- | | Día | day, dd, d | | Hora | hour, hh | | Minuto | minute, mi, n | | Segundo | second, ss, s | | Milisegundo | millisecond, ms | | Microsegundo | microsecond, mcs | | Nanosegundo | nanosecond, ns |
  • La función siempre devuelve un valor entero con signo. La función devuelve una medida del número de límites cruzados para la parte de fecha y hora especificada, no una medida del intervalo de tiempo.