DATETIMEBIN - Cosmos DB 中的查询语言

DATETIMEBIN 函数返回一个日期时间字符串值,该值是对所提供日期时间字符串中的某一部分进行分箱(或舍入)后的结果。

Syntax

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

Arguments

Description
date_time ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ的协调世界时(UTC)日期和时间字符串。
date_time_part 表示 ISO 8601 日期格式规范的一部分的字符串。 此部分用于指示日期到 bin 的哪个方面。
bin_size 指定箱大小的可选数值。 如果未指定,默认值为 1
bin_start_date_time ISO 8601 格式的可选 UTC 日期和时间字符串。 如果未指定,则默认值为 Unix 纪元 1970-01-01T00:00:00.000000Z

返回类型

返回日期和时间字符串值。

例子

本部分包含有关如何使用此查询语言构造的示例。

Bin 日期和时间值

在此示例中,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 的开始日期和时间早于 Windows 时间纪元 `1601`。
  • ISO 8601 日期格式规定了可与此函数一起使用的有效日期和时间部分: | | 格式 | | --- | --- | | | yearyyyyyy | | | monthmmm | | | dayddd | | 小时 | hourhh | | 分钟 | minutemin | | | secondsss | | 毫秒 | millisecondms | | 微秒 | microsecondmcs | | 纳秒 | nanosecondns |