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


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

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

Синтаксис

DATETIMEBIN(<date_time>, <date_time_part> [, <bin_size>] [, <bin_start_date_time>])

Arguments

Description
date_time Строка даты и времени (UTC) в формате YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.
date_time_part Строка, представляющая часть спецификации формата даты ISO 8601. Эта часть используется для указания того, какой аспект даты в ячейку.
bin_size Необязательное числовое значение, указывающее размер ячейки. Если не задано, по умолчанию используется значение 1.
bin_start_date_time Необязательная строка даты и времени UTC в формате ISO 8601. Если значение не указано, значение по умолчанию — эпоха 1970-01-01T00:00:00.000000ZUnix.

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

Возвращает значение строки даты и времени.

Примеры

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

Значения даты и времени корзины

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

SELECT VALUE {
  binDay: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd"),
  binHour: DATETIMEBIN("2021-01-08T18:35:00.0000000", "hh"),
  binSecond: DATETIMEBIN("2021-01-08T18:35:00.0000000", "ss"),
  binFiveHours: DATETIMEBIN("2021-01-08T18:35:00.0000000", "hh", 5),
  binSevenDaysUnixEpoch: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd", 7),
  binSevenDaysWindowsEpoch: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd", 7, "1601-01-01T00:00:00.0000000")
}
[
  {
    "binDay": "2021-01-08T00:00:00.0000000Z",
    "binHour": "2021-01-08T18:00:00.0000000Z",
    "binSecond": "2021-01-08T18:35:00.0000000Z",
    "binFiveHours": "2021-01-08T15:00:00.0000000Z",
    "binSevenDaysUnixEpoch": "2021-01-07T00:00:00.0000000Z",
    "binSevenDaysWindowsEpoch": "2021-01-04T00:00:00.0000000Z"
  }
]

Замечания

  • Эта функция возвращается undefined по следующим причинам:
  • Указанная часть даты и времени недопустимая.
  • Значение размера ячейки не является допустимым целым числом, равно нулю или отрицательно.
  • Дата и время в любом аргументе не является допустимой строкой даты и времени ISO 8601 .
  • Дата и время начала bin предшествует эпохе "1601", эпохе Windows.
  • Формат даты ISO 8601 указывает допустимые части даты и времени, используемые с этой функцией: | | Формат | | --- | --- | | Year | year, yyyyyy | | Месяц | month, mmm | | День | day, ddd | | Час | hour, hh | | Minute | minute, min | | Во-вторых | second, sss | | Миллисекунда | millisecond, ms | | Microsecond | microsecond, mcs | | Nanosecond | nanosecond,ns |