类别:

半结构化和结构化数据函数 (数组/对象)

ARRAY_REPEAT

返回一个包含指定数量的元素副本的 ARRAY 值。

语法

ARRAY_REPEAT( <element> , <count> )

实参

element

要在输出数组中重复的值。

该值可以是任意 半结构化数据类型,例如 VARIANT、ARRAY、OBJECT,也可以是任意标准 Snowflake 数据类型,例如 NUMBER、VARCHAR、BOOLEAN、DATE。

MAP 等 结构化类型 不受支持。

count

指定 element 重复次数的 INTEGER 表达式。

返回

该函数返回一个 半结构化 ARRAY 值,其中包含 elementcount 个副本。

如果 count 为 NULL,则函数返回 NULL。

使用说明

  • 如果 :samp:`{count}`为 0 或负数时,该函数返回空 ARRAY。

  • 如果 element 是 NULL,该函数返回 count 个 NULL 值的 ARRAY。

  • element 值在生成的 ARRAY 中隐式转换为 VARIANT。

示例

以下示例重复了 INTEGER 值三次:

SELECT ARRAY_REPEAT(42, 3);
+---------------------+
| ARRAY_REPEAT(42, 3) |
|---------------------|
| [                   |
|   42,               |
|   42,               |
|   42                |
| ]                   |
+---------------------+

以下示例重复了 STRING 值:

SELECT ARRAY_REPEAT('hello', 2);
+--------------------------+
| ARRAY_REPEAT('hello', 2) |
|--------------------------|
| [                        |
|   "hello",               |
|   "hello"                |
| ]                        |
+--------------------------+

以下示例重复了 ARRAY 值来创建嵌套 ARRAY:

SELECT ARRAY_REPEAT([1, 2], 2);
+-------------------------+
| ARRAY_REPEAT([1, 2], 2) |
|-------------------------|
| [                       |
|   [                     |
|     1,                  |
|     2                   |
|   ],                    |
|   [                     |
|     1,                  |
|     2                   |
|   ]                     |
| ]                       |
+-------------------------+

以下示例显示计数为 0 时返回空 ARRAY 值:

SELECT ARRAY_REPEAT('x', 0);
+----------------------+
| ARRAY_REPEAT('x', 0) |
|----------------------|
| []                   |
+----------------------+

以下示例显示 NULL 计数返回 NULL:

SELECT ARRAY_REPEAT('hi', NULL);
+--------------------------+
| ARRAY_REPEAT('hi', NULL) |
|--------------------------|
| NULL                     |
+--------------------------+