- 类别:
半结构化和结构化数据函数 (数组/对象)
ARRAY_COMPACT¶
返回一个移除了缺失值和 null 值的紧凑数组,从而有效地将稀疏数组转换为密集数组。
语法¶
ARRAY_COMPACT( <array1> )
实参¶
array1
源数组。
使用说明¶
半结构化数据(例如 JSON 数据)可以包含显式空值,这些值与 SQL NULLs 不同。半结构化数据中的空值表示缺少值。
array1
应为 ARRAY 数据类型或包含数组值的 VARIANT 数据类型。如果实参为 NULL,则结果为 NULL。
当您将 结构化 ARRAY 传递给该函数时,该函数会返回相同类型的结构化 ARRAY。
示例¶
此示例说明如何使用 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 | ] | | ] | | +--------------+-----------------------+