Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonctions de tableau
Note
Pour savoir quelles intégrations de sources de AWS données prennent en charge cette SQL commande, consultez OpenSearch SQLCommandes et fonctions prises en charge.
Fonction | Description |
---|---|
tableau (expr,...) | Renvoie un tableau avec les éléments donnés. |
array_append (tableau, élément) | Ajoutez l'élément à la fin du tableau passé en premier argument. Le type d'élément doit être similaire au type des éléments du tableau. L'élément nul est également ajouté au tableau. Mais si le tableau est passé, sa NULL sortie est NULL |
array_compact (tableau) | Supprime les valeurs nulles du tableau. |
array_contains (tableau, valeur) | Renvoie vrai si le tableau contient la valeur. |
array_distinct (tableau) | Supprime les valeurs dupliquées du tableau. |
array_except (tableau1, tableau2) | Renvoie un tableau des éléments du tableau 1 mais pas du tableau 2, sans doublons. |
array_insert (x, pos, val) | Place val dans l'index pos du tableau x. Les indices du tableau commencent à 1. L'indice négatif maximal est -1 pour lequel la fonction insère un nouvel élément après le dernier élément actuel. L'index au-dessus de la taille du tableau ajoute le tableau, ou le préfixe si l'indice est négatif, avec des éléments « nuls ». |
array_intersect (matrice1, matrice2) | Renvoie un tableau des éléments situés à l'intersection de array1 et array2, sans doublons. |
array_join (tableau, délimiteur [,]) nullReplacement | Concatène les éléments du tableau donné à l'aide du délimiteur et d'une chaîne facultative pour remplacer les valeurs nulles. Si aucune valeur n'est définie pournullReplacement, toute valeur nulle est filtrée. |
array_max (tableau) | Renvoie la valeur maximale du tableau. NaN est supérieur à tous les éléments non NaN pour le type double/float. NULLles éléments sont ignorés. |
array_min (tableau) | Renvoie la valeur minimale du tableau. NaN est supérieur à tous les éléments non NaN pour le type double/float. NULLles éléments sont ignorés. |
array_position (tableau, élément) | Renvoie l'index (basé sur 1) du premier élément correspondant du tableau sous forme longue, ou 0 si aucune correspondance n'est trouvée. |
array_prepend (tableau, élément) | Ajoutez l'élément au début du tableau passé en premier argument. Le type d'élément doit être le même que le type des éléments du tableau. L'élément nul est également ajouté au tableau. Mais si le tableau transmis, sa NULL sortie est NULL |
array_remove (tableau, élément) | Supprime tous les éléments égaux à un élément du tableau. |
array_repeat (élément, nombre) | Renvoie le tableau contenant le nombre de fois où les éléments sont dénombrés. |
array_union (matrice1, matrice2) | Renvoie un tableau des éléments de l'union de array1 et array2, sans doublons. |
arrays_overlap (a1, a2) | Renvoie vrai si a1 contient au moins un élément non nul présent également dans a2. Si les tableaux n'ont aucun élément commun, qu'ils ne sont pas vides et que l'un d'eux contient un élément nul, la valeur null est renvoyée, false dans le cas contraire. |
tableaux_zip (a1, a2,...) | Renvoie un tableau fusionné de structures dans lequel la N-ième structure contient toutes les N-ièmes valeurs des tableaux d'entrée. |
aplatir () arrayOfArrays | Transforme un tableau de tableaux en un seul tableau. |
obtenir (tableau, index) | Renvoie l'élément du tableau à un index donné (basé sur 0). Si l'index pointe en dehors des limites du tableau, cette fonction est renvoyéeNULL. |
séquence (démarrage, arrêt, étape) | Génère un tableau d'éléments du début à la fin (inclus), en les incrémentant pas à pas. Le type des éléments renvoyés est le même que celui des expressions d'argument. Les types pris en charge sont les suivants : octet, court, entier, long, date, horodatage. Les expressions de début et d'arrêt doivent être résolues dans le même type. Si les expressions de début et de fin sont du type « date » ou « horodatage », l'expression d'étape doit être du type « intervalle », « intervalle année-mois » ou « intervalle jour-heure », sinon du même type que les expressions de début et de fin. |
shuffle (tableau) | Renvoie une permutation aléatoire du tableau donné. |
tranche (x, début, longueur) | Sous-ensembles le tableau x à partir du début de l'index (les indices du tableau commencent à 1, ou à la fin si le début est négatif) avec la longueur spécifiée. |
sort_array (tableau [,]) ascendingOrder | Trie le tableau d'entrée par ordre croissant ou décroissant selon l'ordre naturel des éléments du tableau. NaN est supérieur à tous les éléments non NaN pour le type double/float. Les éléments nuls seront placés au début du tableau renvoyé par ordre croissant ou à la fin du tableau renvoyé par ordre décroissant. |
Exemples
-- array SELECT array(1, 2, 3); +--------------+ |array(1, 2, 3)| +--------------+ | [1, 2, 3]| +--------------+ -- array_append SELECT array_append(array('b', 'd', 'c', 'a'), 'd'); +----------------------------------+ |array_append(array(b, d, c, a), d)| +----------------------------------+ | [b, d, c, a, d]| +----------------------------------+ SELECT array_append(array(1, 2, 3, null), null); +----------------------------------------+ |array_append(array(1, 2, 3, NULL), NULL)| +----------------------------------------+ | [1, 2, 3, NULL, N...| +----------------------------------------+ SELECT array_append(CAST(null as Array<Int>), 2); +---------------------+ |array_append(NULL, 2)| +---------------------+ | NULL| +---------------------+ -- array_compact SELECT array_compact(array(1, 2, 3, null)); +-----------------------------------+ |array_compact(array(1, 2, 3, NULL))| +-----------------------------------+ | [1, 2, 3]| +-----------------------------------+ SELECT array_compact(array("a", "b", "c")); +-----------------------------+ |array_compact(array(a, b, c))| +-----------------------------+ | [a, b, c]| +-----------------------------+ -- array_contains SELECT array_contains(array(1, 2, 3), 2); +---------------------------------+ |array_contains(array(1, 2, 3), 2)| +---------------------------------+ | true| +---------------------------------+ -- array_distinct SELECT array_distinct(array(1, 2, 3, null, 3)); +---------------------------------------+ |array_distinct(array(1, 2, 3, NULL, 3))| +---------------------------------------+ | [1, 2, 3, NULL]| +---------------------------------------+ -- array_except SELECT array_except(array(1, 2, 3), array(1, 3, 5)); +--------------------------------------------+ |array_except(array(1, 2, 3), array(1, 3, 5))| +--------------------------------------------+ | [2]| +--------------------------------------------+ -- array_insert SELECT array_insert(array(1, 2, 3, 4), 5, 5); +-------------------------------------+ |array_insert(array(1, 2, 3, 4), 5, 5)| +-------------------------------------+ | [1, 2, 3, 4, 5]| +-------------------------------------+ SELECT array_insert(array(5, 4, 3, 2), -1, 1); +--------------------------------------+ |array_insert(array(5, 4, 3, 2), -1, 1)| +--------------------------------------+ | [5, 4, 3, 2, 1]| +--------------------------------------+ SELECT array_insert(array(5, 3, 2, 1), -4, 4); +--------------------------------------+ |array_insert(array(5, 3, 2, 1), -4, 4)| +--------------------------------------+ | [5, 4, 3, 2, 1]| +--------------------------------------+ -- array_intersect SELECT array_intersect(array(1, 2, 3), array(1, 3, 5)); +-----------------------------------------------+ |array_intersect(array(1, 2, 3), array(1, 3, 5))| +-----------------------------------------------+ | [1, 3]| +-----------------------------------------------+ -- array_join SELECT array_join(array('hello', 'world'), ' '); +----------------------------------+ |array_join(array(hello, world), )| +----------------------------------+ | hello world| +----------------------------------+ SELECT array_join(array('hello', null ,'world'), ' '); +----------------------------------------+ |array_join(array(hello, NULL, world), )| +----------------------------------------+ | hello world| +----------------------------------------+ SELECT array_join(array('hello', null ,'world'), ' ', ','); +-------------------------------------------+ |array_join(array(hello, NULL, world), , ,)| +-------------------------------------------+ | hello , world| +-------------------------------------------+ -- array_max SELECT array_max(array(1, 20, null, 3)); +--------------------------------+ |array_max(array(1, 20, NULL, 3))| +--------------------------------+ | 20| +--------------------------------+ -- array_min SELECT array_min(array(1, 20, null, 3)); +--------------------------------+ |array_min(array(1, 20, NULL, 3))| +--------------------------------+ | 1| +--------------------------------+ -- array_position SELECT array_position(array(312, 773, 708, 708), 708); +----------------------------------------------+ |array_position(array(312, 773, 708, 708), 708)| +----------------------------------------------+ | 3| +----------------------------------------------+ SELECT array_position(array(312, 773, 708, 708), 414); +----------------------------------------------+ |array_position(array(312, 773, 708, 708), 414)| +----------------------------------------------+ | 0| +----------------------------------------------+ -- array_prepend SELECT array_prepend(array('b', 'd', 'c', 'a'), 'd'); +-----------------------------------+ |array_prepend(array(b, d, c, a), d)| +-----------------------------------+ | [d, b, d, c, a]| +-----------------------------------+ SELECT array_prepend(array(1, 2, 3, null), null); +-----------------------------------------+ |array_prepend(array(1, 2, 3, NULL), NULL)| +-----------------------------------------+ | [NULL, 1, 2, 3, N...| +-----------------------------------------+ SELECT array_prepend(CAST(null as Array<Int>), 2); +----------------------+ |array_prepend(NULL, 2)| +----------------------+ | NULL| +----------------------+ -- array_remove SELECT array_remove(array(1, 2, 3, null, 3), 3); +----------------------------------------+ |array_remove(array(1, 2, 3, NULL, 3), 3)| +----------------------------------------+ | [1, 2, NULL]| +----------------------------------------+ -- array_repeat SELECT array_repeat('123', 2); +--------------------+ |array_repeat(123, 2)| +--------------------+ | [123, 123]| +--------------------+ -- array_union SELECT array_union(array(1, 2, 3), array(1, 3, 5)); +-------------------------------------------+ |array_union(array(1, 2, 3), array(1, 3, 5))| +-------------------------------------------+ | [1, 2, 3, 5]| +-------------------------------------------+ -- arrays_overlap SELECT arrays_overlap(array(1, 2, 3), array(3, 4, 5)); +----------------------------------------------+ |arrays_overlap(array(1, 2, 3), array(3, 4, 5))| +----------------------------------------------+ | true| +----------------------------------------------+ -- arrays_zip SELECT arrays_zip(array(1, 2, 3), array(2, 3, 4)); +------------------------------------------+ |arrays_zip(array(1, 2, 3), array(2, 3, 4))| +------------------------------------------+ | [{1, 2}, {2, 3}, ...| +------------------------------------------+ SELECT arrays_zip(array(1, 2), array(2, 3), array(3, 4)); +-------------------------------------------------+ |arrays_zip(array(1, 2), array(2, 3), array(3, 4))| +-------------------------------------------------+ | [{1, 2, 3}, {2, 3...| +-------------------------------------------------+ -- flatten SELECT flatten(array(array(1, 2), array(3, 4))); +----------------------------------------+ |flatten(array(array(1, 2), array(3, 4)))| +----------------------------------------+ | [1, 2, 3, 4]| +----------------------------------------+ -- get SELECT get(array(1, 2, 3), 0); +----------------------+ |get(array(1, 2, 3), 0)| +----------------------+ | 1| +----------------------+ SELECT get(array(1, 2, 3), 3); +----------------------+ |get(array(1, 2, 3), 3)| +----------------------+ | NULL| +----------------------+ SELECT get(array(1, 2, 3), -1); +-----------------------+ |get(array(1, 2, 3), -1)| +-----------------------+ | NULL| +-----------------------+ -- sequence SELECT sequence(1, 5); +---------------+ | sequence(1, 5)| +---------------+ |[1, 2, 3, 4, 5]| +---------------+ SELECT sequence(5, 1); +---------------+ | sequence(5, 1)| +---------------+ |[5, 4, 3, 2, 1]| +---------------+ SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month); +----------------------------------------------------------------------+ |sequence(to_date(2018-01-01), to_date(2018-03-01), INTERVAL '1' MONTH)| +----------------------------------------------------------------------+ | [2018-01-01, 2018...| +----------------------------------------------------------------------+ SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval '0-1' year to month); +--------------------------------------------------------------------------------+ |sequence(to_date(2018-01-01), to_date(2018-03-01), INTERVAL '0-1' YEAR TO MONTH)| +--------------------------------------------------------------------------------+ | [2018-01-01, 2018...| +--------------------------------------------------------------------------------+ -- shuffle SELECT shuffle(array(1, 20, 3, 5)); +---------------------------+ |shuffle(array(1, 20, 3, 5))| +---------------------------+ | [5, 1, 20, 3]| +---------------------------+ SELECT shuffle(array(1, 20, null, 3)); +------------------------------+ |shuffle(array(1, 20, NULL, 3))| +------------------------------+ | [1, NULL, 20, 3]| +------------------------------+ -- slice SELECT slice(array(1, 2, 3, 4), 2, 2); +------------------------------+ |slice(array(1, 2, 3, 4), 2, 2)| +------------------------------+ | [2, 3]| +------------------------------+ SELECT slice(array(1, 2, 3, 4), -2, 2); +-------------------------------+ |slice(array(1, 2, 3, 4), -2, 2)| +-------------------------------+ | [3, 4]| +-------------------------------+ -- sort_array SELECT sort_array(array('b', 'd', null, 'c', 'a'), true); +-----------------------------------------+ |sort_array(array(b, d, NULL, c, a), true)| +-----------------------------------------+ | [NULL, a, b, c, d]| +-----------------------------------------+