Catégories :

Fonctions de données semi-structurées et structurées (tableau/objet)

ARRAY_COMPACT

Renvoie un tableau compacté avec les valeurs manquantes et « null » supprimées, convertissant efficacement les tableaux clairsemés en tableaux denses.

Syntaxe

ARRAY_COMPACT( <array1> )
Copy

Arguments

array1

Le tableau source.

Notes sur l’utilisation

  • Les données semi-structurées (exemple : données JSON) peuvent contenir des valeurs nulles explicites, distinctes des NULLs SQL. Une valeur nulle dans les données semi-structurées indique qu’il manque une valeur.

  • array1 doit être un type de données ARRAY ou un type de données VARIANT contenant une valeur de tableau.

  • Si l’argument est NULL, le résultat sera NULL.

  • Lorsque vous transmettez un ARRAY structuré à la fonction, celle-ci renvoie un ARRAY structuré du même type.

Exemples

Cet exemple montre comment utiliser ARRAY_COMPACT() :

Créez une table et des données simples :

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

Exécutez la requête :

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