DateTimeDiff (consulta NoSQL)
APLICA-SE A: NoSQL
Retorna a diferença, como um inteiro assinado, da parte de data e hora especificada entre dois valores de data e hora.
Sintaxe
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
Argumentos
Descrição | |
---|---|
date_time_part |
Uma cadeia de caracteres que representa uma parte de uma especificação de formato de data ISO 8601. Essa parte é usada para indicar qual aspecto da data deve ser comparado. |
start_date_time |
Uma cadeia de caracteres de data e hora do Tempo Universal Coordenado (UTC) no formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ . |
end_date_time |
Uma cadeia de caracteres de data e hora do Tempo Universal Coordenado (UTC) no formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ . |
Observação
Para obter mais informações sobre o formato ISO 8601, consulte ISO 8601.
Tipos de retorno
Retorna um valor numérico que é um número inteiro com sinal.
Exemplos
Os exemplos a seguir comparam 4 de fevereiro de 2019 16:00 UTC e 5 de março de 2018 05:00 UTC usando várias partes de data e 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
}
]
Comentários
- Essa função retorna
undefined
por estes motivos:- A parte de data e hora especificada é inválida.
- A data e a hora no argumento inicial ou final não é uma cadeia de caracteres de data e hora ISO 8601 válida.
- O formato de data ISO 8601 especifica as partes válidas de data e hora a serem usadas com essa função: | | Formato | | | --- | --- | | Dia |
day
,dd
,d
| | Hora |hour
,hh
| Minuto |minute
,mi
,n
| | Segundo |second
,ss
,s
| | Milissegundos |millisecond
,ms
| | Microssegundos |microsecond
,mcs
| Nanossegundos |nanosecond
,ns
| - A função sempre retorna um valor inteiro assinado. A função retorna uma medição do número de limites cruzados para a parte de data e hora especificada, não uma medição do intervalo de tempo.