カテゴリ:

半構造化データ関数と構造化データ関数 (配列/オブジェクト)

ARRAY_COMPACT

欠損値とnull値が削除されたコンパクトな配列を返し、疎な配列を密な配列に効率的に変換します。

構文

ARRAY_COMPACT( <array1> )
Copy

引数

array1

ソース配列です。

使用上の注意

  • 半構造化データ(例: JSON データ)には、 SQL NULLs とは異なる明示的なnull値を含めることができます。半構造化データのnull値は、欠損値を示します。

  • array1 は、 ARRAY データ型または配列値を含む VARIANT データ型のいずれかである必要があります。

  • 引数が NULL の場合、結果は NULLになります。

  • 関数に 構造化 ARRAY を渡すと、関数は同じ型の構造化 ARRAY を返します。

次の例は、 ARRAY_COMPACT() の使用方法を示しています。

簡単なテーブルとデータを作成します。

CREATE TABLE array_demo (ID INTEGER, array1 ARRAY, array2 ARRAY);
Copy
INSERT INTO array_demo (ID, array1, array2) 
    SELECT 2, ARRAY_CONSTRUCT(10, NULL, 30), ARRAY_CONSTRUCT(40);
Copy

クエリを実行します。

SELECT array1, ARRAY_COMPACT(array1) FROM array_demo WHERE ID = 2;
+--------------+-----------------------+
| ARRAY1       | ARRAY_COMPACT(ARRAY1) |
|--------------+-----------------------|
| [            | [                     |
|   10,        |   10,                 |
|   undefined, |   30                  |
|   30         | ]                     |
| ]            |                       |
+--------------+-----------------------+
Copy