Catégories :

Fonctions de données semi-structurées et 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> ) 
Copy

Arguments

value_expr

Valeur à trouver dans array.

array

Le ARRAY à rechercher.

Renvoie

La fonction renvoie un INTEGER indiquant la position de value_expr dans array.

Notes sur l’utilisation

  • La valeur de retour est basée sur 0 et non sur 1. En d’autres termes, si value_expr correspond au premier élément du tableau, cette fonction renvoie 0 et non 1.

  • Si la valeur n’est pas contenue dans le ARRAY, la fonction renvoie NULL.

  • Si vous spécifiez NULL pour value_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 | +------------------------------------------------------------------+ 
Copy
SELECT ARRAY_POSITION('hi'::variant, array_construct('hello', 'hi')); +---------------------------------------------------------------+ | ARRAY_POSITION('HI'::VARIANT, ARRAY_CONSTRUCT('HELLO', 'HI')) | |---------------------------------------------------------------| | 1 | +---------------------------------------------------------------+ 
Copy
SELECT ARRAY_POSITION('hello'::variant, array_construct('hola', 'bonjour')); +----------------------------------------------------------------------+ | ARRAY_POSITION('HELLO'::VARIANT, ARRAY_CONSTRUCT('HOLA', 'BONJOUR')) | |----------------------------------------------------------------------| | NULL | +----------------------------------------------------------------------+ 
Copy