array_range
SinceVersion 1.2.0
array_range
description
Syntax
1. ARRAY<Int> array_range(Int end)
2. ARRAY<Int> array_range(Int start, Int end)
3. ARRAY<Int> array_range(Int start, Int end, Int step)
4. ARRAY<Datetime> array_range(Datetime start_datetime, Datetime end_datetime)
5. ARRAY<Datetime> array_range(Datetime start_datetime, Datetime end_datetime, INTERVAL Int interval_step UNIT)
- 生成int数组: 参数均为正整数 start 默认为 0, step 默认为 1。 最终返回一个数组,从start 到 end - 1, 步长为 step。
- 生成日期时间数组: 至少取两个参数。 前两个参数都是datetimev2,第三个是正整数。 如果缺少第三部分,则
INTERVAL 1 DAY将为默认值。 UNIT 支持年/月/周/日/小时/分钟/秒。 返回 start_datetime 和最接近 end_datetime 之间的 datetimev2 数组(按 Interval_step UNIT 计算)。
notice
如果第三个参数 step/interval_step 为负数或者零, 函数结果将为NULL
example
1. mysql> select array_range(10);
2. +--------------------------------+
3. | array_range(10) |
4. +--------------------------------+
5. | [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
6. +--------------------------------+
8. mysql> select array_range(10,20);
9. +------------------------------------------+
10. | array_range(10, 20) |
11. +------------------------------------------+
12. | [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] |
13. +------------------------------------------+
15. mysql> select array_range(0,20,2);
16. +-------------------------------------+
17. | array_range(0, 20, 2) |
18. +-------------------------------------+
19. | [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] |
20. +-------------------------------------+
22. mysql> select array_range(cast('2022-05-15 12:00:00' as datetimev2(0)), cast('2022-05-17 12:00:00' as datetimev2(0))) AS array_range_default;
23. +------------------------------------------------+
24. | array_range_default |
25. +------------------------------------------------+
26. | ["2022-05-15 12:00:00", "2022-05-16 12:00:00"] |
27. +------------------------------------------------+
29. mysql> select array_range(cast('2019-05-15 12:00:00' as datetimev2(0)), cast('2022-05-17 12:00:00' as datetimev2(0)), interval 2 year) as array_range_2_year;
30. +------------------------------------------------+
31. | array_range_2_year |
32. +------------------------------------------------+
33. | ["2019-05-15 12:00:00", "2021-05-15 12:00:00"] |
34. +------------------------------------------------+
keywords
ARRAY, RANGE, ARRAY_RANGE
