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 日期格式指定用于此函数的有效日期和时间部分:| | 格式 | | --- | --- | | 日 |
day
、dd
、d
| | 小时 |hour
、hh
| | 分 |minute
、mi
、n
| | 秒 |second
、ss
、s
| | 毫秒 |millisecond
、ms
| | 微秒 |microsecond
、mcs
| | 纳秒 |nanosecond
、ns
|