Поделиться через


DATETIMEADD — язык запросов в Cosmos DB (в Azure и Fabric)

Функция DATETIMEADD возвращает значение строки даты и времени, которое является результатом добавления указанного значения числа в указанную строку даты и времени.

Синтаксис

DATETIMEADD(<date_time_part>, <numeric_expr>, <date_time>)

Arguments

Description
date_time_part Строка, представляющая часть спецификации формата даты ISO 8601. Эта часть используется для указания аспекта даты изменения соответствующим числовым выражением.
numeric_expr Числовое выражение, в результате чего целое число со знаком.
date_time Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.

Типы возвращаемых данных

Возвращает строку даты и времени UTC в формате YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.

Примеры

В этом разделе содержатся примеры использования этой конструкции языка запросов.

Добавление и вычитание частей даты

В этом примере DATETIMEADD функция используется для добавления и вычитания лет, месяцев, дней и часов с даты.

SELECT VALUE {
  addOneYear: DATETIMEADD("yyyy", 1, "2020-07-03T00:00:00.0000000"),
  addOneMonth: DATETIMEADD("mm", 1, "2020-07-03T00:00:00.0000000"),
  addOneDay: DATETIMEADD("dd", 1, "2020-07-03T00:00:00.0000000"),
  addOneHour: DATETIMEADD("hh", 1, "2020-07-03T00:00:00.0000000"),
  subtractOneYear: DATETIMEADD("yyyy", -1, "2020-07-03T00:00:00.0000000"),
  subtractOneMonth: DATETIMEADD("mm", -1, "2020-07-03T00:00:00.0000000"),
  subtractOneDay: DATETIMEADD("dd", -1, "2020-07-03T00:00:00.0000000"),
  subtractOneHour: DATETIMEADD("hh", -1, "2020-07-03T00:00:00.0000000"),
  modifySecondsExpression: DATETIMEADD("ss", 5 * -5, "2020-07-03T00:00:00.0000000")
}
[
  {
    "addOneYear": "2021-07-03T00:00:00.0000000Z",
    "addOneMonth": "2020-08-03T00:00:00.0000000Z",
    "addOneDay": "2020-07-04T00:00:00.0000000Z",
    "addOneHour": "2020-07-03T01:00:00.0000000Z",
    "subtractOneYear": "2019-07-03T00:00:00.0000000Z",
    "subtractOneMonth": "2020-06-03T00:00:00.0000000Z",
    "subtractOneDay": "2020-07-02T00:00:00.0000000Z",
    "subtractOneHour": "2020-07-02T23:00:00.0000000Z",
    "modifySecondsExpression": "2020-07-02T23:59:35.0000000Z"
  }
]

Замечания

  • Формат даты 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.