Kategorien:

Semistrukturierte Datenfunktionen (Array/Objekt)

ARRAY_COMPACT

Gibt ein komprimiertes Array mit fehlenden und entfernten Nullwerten zurück, wodurch spärliche Arrays effektiv in dichte Arrays umgewandelt werden.

Syntax

ARRAY_COMPACT( <array1> )

Argumente

Array1

Das Quellarray.

Nutzungshinweise

  • Semistrukturierte Daten (z. B. JSON-Daten) können explizite Nullwerte enthalten, die sich von SQL NULLs unterscheiden. Ein Nullwert in semistrukturierten Daten zeigt an, dass ein Wert fehlt.

  • Array1 muss entweder vom Datentyp ARRAY oder vom Datentyp VARIANT sein und einen Arraywert enthalten.

  • Wenn das Argument NULL ist, lautet das Ergebnis NULL.

Beispiele

In diesem Beispiel wird die Verwendung von ARRAY_COMPACT() veranschaulicht:

Erstellen Sie eine einfache Tabelle und Daten:

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);

Führen Sie die Abfrage aus:

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