ARRAY_SAMPLE
📄字数 448
👁️阅读量 加载中...
功能描述
从数组中随机抽取指定数量的元素。抽取的数量不得超过数组第一维的长度。如果数组是多维的,则具有给定第一个下标的切片。
ARRAY数据类型的详细信息请参见《SQL语法参考指南》的数组类型章节。
语法格式
sql
ARRAY_SAMPLE(anyarray, integer)输入参数
anyarray:要操作的数组。integer:要从数组中抽取的元素数量。必须是非负整数,并且不能大于数组的长度。
输出结果
ARRAY类型,随即返回的数组。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 从一维数组中随机抽取3个元素
SQL> SELECT ARRAY_SAMPLE(ARRAY[1,2,3,4,5,6], 3);
+---------+
| EXPR1 |
+---------+
| {6,3,1} |
+---------+
-- 从一个二维数组中随机抽取2个子数组
SQL> SELECT ARRAY_SAMPLE(ARRAY[[1,2],[3,4],[5,6]], 2);
+---------------+
| EXPR1 |
+---------------+
| {{1,2},{3,4}} |
+---------------+