Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция DATETIMEDIFF возвращает разницу в виде целого числа со знаком указанной даты и времени между двумя значениями даты и времени.
Синтаксис
DATETIMEDIFF(<date_time_part>, <start_date_time>, <end_date_time>)
Arguments
| Description | |
|---|---|
date_time_part |
Строка, представляющая часть спецификации формата даты ISO 8601. Эта часть используется для указания того, какой аспект даты для сравнения. |
start_date_time |
Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZISO 8601. |
end_date_time |
Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZISO 8601. |
Типы возвращаемых данных
Возвращает числовое значение, которое является целым числом со знаком.
Примеры
В этом разделе содержатся примеры использования этой конструкции языка запросов.
Разница даты и времени
В этом примере DATETIMEDIFF функция используется для вычисления разницы между двумя датами в годах, месяцах, днях, часах и секундах.
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
}
]
Замечания
- Формат даты ISO 8601 указывает допустимые части даты и времени, используемые с этой функцией: | | Формат | | --- | --- | | Year |
year,yyyyyy| | Месяц |month,mmm| | День |day,ddd| | Час |hour,hh| | Minute |minute,min| | Во-вторых |second,sss| | Миллисекунда |millisecond,ms| | Microsecond |microsecond,mcs| | Nanosecond |nanosecond,ns| - Эта функция возвращается
undefinedпо следующим причинам: - Указанная часть даты и времени недопустимая.
- Дата и время в аргументе начала или окончания не является допустимой строкой даты и времени ISO 8601 .
- Функция всегда возвращает целочисленное значение со знаком. Функция возвращает измерение количества границ, пересекаемых для указанной даты и времени, а не измерения интервала времени.