- Catégories :
Fonctions de données semi-structurées (tableau/objet)
ARRAY_POSITION¶
Renvoie l’index de la première occurrence d’un élément d’un tableau.
Syntaxe¶
ARRAY_POSITION( <variant_expr> , <array> )
Arguments¶
variant_expr
Cette expression devrait être évaluée à une valeur VARIANT. La fonction recherche la première occurrence de cette valeur dans le tableau.
array
Le tableau à rechercher.
Renvoie¶
Le type de données de la valeur renvoyée est INTEGER.
Notes sur l’utilisation¶
La valeur de retour est basée sur 0 et non sur 1. En d’autres termes, si
variant_expr
correspond au premier élément du tableau, cette fonction renvoie 0 et non 1.Si la valeur VARIANT n’est pas contenue dans ARRAY, la fonction renvoie NULL.
Si vous spécifiez NULL pour
variant_expr
, la fonction renvoie la position du premier NULL dans le tableau.
Exemples¶
Les exemples ci-dessous montrent comment utiliser cette fonction :
SELECT ARRAY_POSITION('hello'::variant, array_construct('hello', 'hi')); +------------------------------------------------------------------+ | ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) | |------------------------------------------------------------------| | 0 | +------------------------------------------------------------------+SELECT ARRAY_POSITION('hi'::variant, array_construct('hello', 'hi')); +---------------------------------------------------------------+ | ARRAY_POSITION('HI'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) | |---------------------------------------------------------------| | 1 | +---------------------------------------------------------------+SELECT ARRAY_POSITION('hello'::variant, array_construct('hola', 'bonjour')); +----------------------------------------------------------------------+ | ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HOLA', 'BONJOUR')) | |----------------------------------------------------------------------| | NULL | +----------------------------------------------------------------------+