- 类别:
- 半结构化和结构化数据函数 (数组/对象) 
ARRAY_COMPACT¶
返回一个移除了缺失值和 null 值的紧凑数组,从而有效地将稀疏数组转换为密集数组。
语法¶
ARRAY_COMPACT( <array1> )
实参¶
- array1
- 源数组。 
使用说明¶
- 半结构化数据(例如 JSON 数据)可以包含显式空值,这些值与 SQL NULLs 不同。半结构化数据中的空值表示缺少值。 
- array1应为 ARRAY 数据类型或包含数组值的 VARIANT 数据类型。
- 如果实参为 NULL,则结果为 NULL。 
- 当您将 结构化数组 传递给该函数时,该函数会返回相同类型的结构化数组。 
示例¶
此示例说明如何使用 ARRAY_COMPACT():
创建简单的表和数据:
CREATE TABLE array_demo (ID INTEGER, array1 ARRAY, array2 ARRAY);INSERT INTO array_demo (ID, array1, array2) SELECT 2, ARRAY_CONSTRUCT(10, NULL, 30), ARRAY_CONSTRUCT(40);执行查询:
SELECT array1, ARRAY_COMPACT(array1) FROM array_demo WHERE ID = 2; +--------------+-----------------------+ | ARRAY1 | ARRAY_COMPACT(ARRAY1) | |--------------+-----------------------| | [ | [ | | 10, | 10, | | undefined, | 30 | | 30 | ] | | ] | | +--------------+-----------------------+