Compartir a través de

DateTimeBin(NoSQL 查询)

适用范围: NoSQL

返回日期和时间字符串值,该值是对提供的日期和时间字符串的一部分进行分箱(舍入)的结果。

语法

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

参数

描述
date_time 采用 ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的协调世界时 (UTC) 日期和时间字符串。
date_time_part 表示 ISO 8601 日期格式规范的一部分的字符串。 此部分用于指示要对日期的哪个方面进行分箱。 具体而言,此部分参数表示分箱(或舍入)的粒度级别。 该部分的最小粒度为“天”,最大粒度为“纳秒”。
bin_size(可选) 指定箱大小的可选数值。 如果未指定,默认值为 1
bin_start_date_time(可选) 采用 ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的可选协调世界时 (UTC) 日期和时间字符串。 此日期和时间参数指定要从中进行分箱的开始日期。 如果未指定,默认值为 Unix 纪元 1970-01-01T00:00:00.000000Z

返回类型

返回 ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的 UTC 日期和时间字符串。

示例

以下示例按各种值对日期“2021 年 1 月 8 日”的“18:35 UTC”进行分箱。 该示例还更改箱大小以及箱开始日期和时间。

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 日期和时间字符串。
    • 箱开始日期和时间早于年份 1601(Windows 纪元)。
  • ISO 8601 日期格式指定用于此函数的有效日期和时间部分:| | 格式 | | --- | --- | | 日 | dayddd | | 小时 | hourhh | | 分 | minutemin | | 秒 | secondsss | | 毫秒 | millisecondms | | 微秒 | microsecondmcs | | 纳秒 | nanosecondns |