Le Tableau 9.35, « Opérateurs array » affiche les opérateurs disponibles pour les types array.
Tableau 9.35. Opérateurs array
| Opérateur | Description | Exemple | Résultat |
|---|---|---|---|
| = | égal à | ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] | t |
| <> | différent de | ARRAY[1,2,3] <> ARRAY[1,2,4] | t |
| < | inférieur à | ARRAY[1,2,3] < ARRAY[1,2,4] | t |
| > | supérieur à | ARRAY[1,4,3] > ARRAY[1,2,4] | t |
| <= | inférieur ou égal à | ARRAY[1,2,3] <= ARRAY[1,2,3] | t |
| >= | supérieur ou égal à | ARRAY[1,4,3] >= ARRAY[1,4,3] | t |
| @> | contient | ARRAY[1,4,3] @> ARRAY[3,1] | t |
| <@ | est contenu par | ARRAY[2,7] <@ ARRAY[1,7,4,2,6] | t |
| && | croise (ont des éléments en commun) | ARRAY[1,4,3] && ARRAY[2,1] | t |
| || | concaténation de tableaux | ARRAY[1,2,3] || ARRAY[4,5,6] | {1,2,3,4,5,6} |
| || | concaténation de tableaux | ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] | {{1,2,3},{4,5,6},{7,8,9}} |
| || | concaténation d'un élément avec un tableau | 3 || ARRAY[4,5,6] | {3,4,5,6} |
| || | concaténation d'un tableau avec un élément | ARRAY[4,5,6] || 7 | {4,5,6,7} |
Les comparaisons de tableaux comparent le contenu du tableau élément par élément, en utilisant la fonction de comparaison par défaut du B-Tree pour le type de données de l'élément. Dans les tableaux multi-dimensionnels, les éléments sont visités dans l'ordre « row-major » (le dernier indice varie le plus rapidement). Si le contenu de deux tableaux est identique mais que les dimensions sont différentes, la première différence dans l'information de dimension détermine l'ordre de tri. (Ceci était différent avec les versions de PostgreSQL™ antérieures à la 8.2 : les anciennes versions clamaient que deux tableaux de même contenu étaient identiques même si le nombre des dimensions ou les échelles d'indices étaient différents.)
Voir la Section 8.10, « Tableaux » pour plus de détails sur le comportement des opérateurs.
Le Tableau 9.36, « Fonctions sur array » affiche les fonctions disponibles à l'utilisation avec des types tableaux. Voir la Section 8.10, « Tableaux » pour plus de discussion et d'exemples d'utilisation de ces fonctions.
Tableau 9.36. Fonctions sur array
| Fonction | Type de retour | Description | Exemple | Résultat |
|---|---|---|---|---|
| array_append (anyarray, anyelement) | anyarray | ajoute un élément à la fin d'un tableau | array_append(ARRAY[1,2], 3) | {1,2,3} |
| array_cat (anyarray, anyarray) | anyarray | concatène deux tableaux | array_cat(ARRAY[1,2,3], ARRAY[4,5]) | {1,2,3,4,5} |
| array_dims (anyarray) | text | renvoie une représentation textuelle des dimensions d'un tableau | array_dims(array[[1,2,3], [4,5,6]]) | [1:2][1:3] |
| array_lower (anyarray, int) | int | renvoie la dimension inférieure du tableau donné | array_lower('[0:2]={1,2,3}'::int[], 1) | 0 |
| array_prepend (anyelement, anyarray) | anyarray | ajoute un élément au début d'un tableau | array_prepend(1, ARRAY[2,3]) | {1,2,3} |
| array_to_string (anyarray, text) | text | concatène des éléments de tableau en utilisant le délimiteur fourni | array_to_string(array[1, 2, 3], '~^~') | 1~^~2~^~3 |
| array_upper (anyarray, int) | int | renvoie la dimension supérieure du tableau donné | array_upper(ARRAY[1,2,3,4], 1) | 4 |
| string_to_array (text, text) | text[] | divise une chaîne en tableau d'éléments utilisant le délimiteur fourni | string_to_array( 'xx~^~yy~^~zz', '~^~') | {xx,yy,zz} |