[Function](array) support array_range function (#13547)
* array_range with 3 impl * [Function](array) support array_range function * update * update code
This commit is contained in:
@ -0,0 +1,76 @@
|
||||
---
|
||||
{
|
||||
"title": "array_range",
|
||||
"language": "en"
|
||||
}
|
||||
---
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
## array_range
|
||||
|
||||
### description
|
||||
|
||||
#### Syntax
|
||||
|
||||
```
|
||||
ARRAY<Int> array_range(Int end)
|
||||
ARRAY<Int> array_range(Int start, Int end)
|
||||
ARRAY<Int> array_range(Int start, Int end, Int step)
|
||||
```
|
||||
The parameters are all positive integers.
|
||||
start default value is 0, and step default value is 1.
|
||||
Return the array which numbers from start to end - 1 by step.
|
||||
|
||||
|
||||
### notice
|
||||
|
||||
`Only supported in vectorized engine`
|
||||
|
||||
### example
|
||||
|
||||
```
|
||||
mysql> set enable_vectorized_engine=true;
|
||||
|
||||
mysql> select array_range(10);
|
||||
+--------------------------------+
|
||||
| array_range(10) |
|
||||
+--------------------------------+
|
||||
| [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
|
||||
+--------------------------------+
|
||||
|
||||
mysql> select array_range(10,20);
|
||||
+------------------------------------------+
|
||||
| array_range(10, 20) |
|
||||
+------------------------------------------+
|
||||
| [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] |
|
||||
+------------------------------------------+
|
||||
|
||||
mysql> select array_range(0,20,2);
|
||||
+-------------------------------------+
|
||||
| array_range(0, 20, 2) |
|
||||
+-------------------------------------+
|
||||
| [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] |
|
||||
+-------------------------------------+
|
||||
```
|
||||
|
||||
### keywords
|
||||
|
||||
ARRAY, RANGE, ARRAY_RANGE
|
||||
@ -257,6 +257,7 @@
|
||||
"sql-manual/sql-functions/array-functions/countequal",
|
||||
"sql-manual/sql-functions/array-functions/element_at",
|
||||
"sql-manual/sql-functions/array-functions/array_avg",
|
||||
"sql-manual/sql-functions/array-functions/array_range",
|
||||
"sql-manual/sql-functions/array-functions/size",
|
||||
"sql-manual/sql-functions/array-functions/array_distinct",
|
||||
"sql-manual/sql-functions/array-functions/array_difference",
|
||||
|
||||
@ -0,0 +1,74 @@
|
||||
---
|
||||
{
|
||||
"title": "array_range",
|
||||
"language": "zh-CN"
|
||||
}
|
||||
---
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
## array_range
|
||||
|
||||
### description
|
||||
|
||||
#### Syntax
|
||||
|
||||
```
|
||||
ARRAY<Int> array_range(Int end)
|
||||
ARRAY<Int> array_range(Int start, Int end)
|
||||
ARRAY<Int> array_range(Int start, Int end, Int step)
|
||||
```
|
||||
参数均为正整数 start 默认为 0, step 默认为 1。
|
||||
最终返回一个数组,从start 到 end - 1, 步长为 step。
|
||||
|
||||
### notice
|
||||
|
||||
`仅支持向量化引擎中使用`
|
||||
|
||||
### example
|
||||
|
||||
```
|
||||
mysql> set enable_vectorized_engine=true;
|
||||
|
||||
mysql> select array_range(10);
|
||||
+--------------------------------+
|
||||
| array_range(10) |
|
||||
+--------------------------------+
|
||||
| [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
|
||||
+--------------------------------+
|
||||
|
||||
mysql> select array_range(10,20);
|
||||
+------------------------------------------+
|
||||
| array_range(10, 20) |
|
||||
+------------------------------------------+
|
||||
| [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] |
|
||||
+------------------------------------------+
|
||||
|
||||
mysql> select array_range(0,20,2);
|
||||
+-------------------------------------+
|
||||
| array_range(0, 20, 2) |
|
||||
+-------------------------------------+
|
||||
| [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] |
|
||||
+-------------------------------------+
|
||||
```
|
||||
|
||||
### keywords
|
||||
|
||||
ARRAY, RANGE, ARRAY_RANGE
|
||||
Reference in New Issue
Block a user