ARRAY
ARRAY
是一种数据类型,用于表示由同一种类型的元素序列构成的值。这种数据类型可以存储一系列具有相同数据类型的元素,方便进行统一管理和操作。
语法
elementType
:指定数组中元素的数据类型。
ARRAY常量格式
这种格式表示一个数组常量。请确保在定义数组常量时不使用引号,因为引号会使其被识别为字符串类型,而字符串类型的'[1,3,4]'
不能直接被使用cast转化成array<int>
类型。
示例
-
创建一个整数数组:
> SELECT ARRAY(1, 2, 3);
[1, 2, 3]
-
将整数数组转换为字符串数组:
> SELECT CAST(ARRAY(1, 2, 3) AS ARRAY<STRING>);
["1", "2", "3"]
-
获取数组元素的数据类型:
> SELECT typeof(ARRAY(1.2, 1.4, 1.8));
array<decimal(2,1)>
-
创建一个嵌套数组(数组中包含其他数组):
> SELECT CAST(ARRAY(ARRAY(10, 20), ARRAY(30, 40)) AS ARRAY<ARRAY<DECIMAL(10,2)>>);
[[10.00, 20.00], [30.00, 40.00]]
-
获取数组中的特定元素:
> SELECT a[0] FROM VALUES(ARRAY(10, 20, 30)) AS T(a);
10
-
使用IN
操作符检查数组中是否存在特定元素:
> SELECT 'Element exists' AS Result WHERE array_contains( ARRAY(1, 2, 3),3);
Result
--------
Element exists
-
对数组进行排序:
> SELECT ARRAY_SORT(array(2, 1, 3));
[1, 2, 3]
-
合并两个数组:
> SELECT array_union(array(2, 1, 3, 3), array(3, 5));
[2,1,3,5]