DateTimeDiff (запрос NoSQL)
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Возвращает разницу в виде целого числа со знаком указанной даты и времени между двумя значениями даты и времени.
Синтаксис
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
Аргументы
Description | |
---|---|
date_time_part |
Строка, представляющая часть спецификации формата даты ISO 8601. Эта часть используется для указания того, какой аспект даты для сравнения. |
start_date_time |
Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZ ISO 8601. |
end_date_time |
Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZ ISO 8601. |
Примечание.
Дополнительные сведения о формате ISO 8601 см . в статье ISO 8601.
Типы возвращаемых данных
Возвращает числовое значение, которое является целым числом со знаком.
Примеры
В следующих примерах сравниваются 4 февраля 2019 г. 16:00 UTC и 5 марта 2018 г. 05:00 UTC с различными частями даты и времени.
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
}
]
Замечания
- Эта функция возвращается
undefined
по следующим причинам:- Указанная часть даты и времени недопустимая.
- Дата и время в аргументе начала или окончания не является допустимой строкой даты и времени ISO 8601.
- Формат даты ISO 8601 указывает допустимые части даты и времени, используемые с этой функцией: | | Формат | | --- | --- | | День |
day
,dd
d
| | Час |hour
,hh
| | Minute |minute
,mi
n
| | Во-вторых |second
,ss
s
| | Миллисекунда |millisecond
,ms
| | Microsecond |microsecond
,mcs
| | Nanosecond |nanosecond
,ns
| - Функция всегда возвращает целочисленное значение со знаком. Функция возвращает измерение количества границ, пересекаемых для указанной даты и времени, а не измерения интервала времени.