9.14. Fonctions et opérateurs de tableaux
Le Tableau 9.35,
« Opérateurs array » présente
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
|
|
&&
|
se chevauchent (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 comparent les contenus des tableaux é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.
(Ce fonctionnement diffère de celui des versions de PostgreSQL™ antérieures à la 8.2 : les
anciennes versions indiquent que deux tableaux de même contenu sont
identiques même si le nombre de dimensions ou les échelles d'indices
diffèrent.)
Voir la Section 8.10, « Tableaux »
pour plus de détails sur le comportement des opérateurs.
Le Tableau 9.36,
« Fonctions sur array »
présnte utilisables avec des types tableaux. Voir la Section 8.10,
« Tableaux » pour plus d'informations et des 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 limite 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 limite 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 en utilisant le
délimiteur fourni
|
string_to_array( 'xx~^~yy~^~zz',
'~^~')
|
{xx,yy,zz}
|
|