Renvoie la position de la première occurrence de l'élément element dans le tableau a. L'indexation des éléments commence à 1, de gauche à droite.
Syntaxe
bigint array_position(array<T> <a>, T <element>)
Paramètres
-
a : obligatoire. Tableau de type ARRAY. Dans
array<T>,Tdésigne le type de données des éléments du tableau. Les types suivants sont pris en charge :TINYINT, SMALLINT, INT, BIGINT
FLOAT, DOUBLE
BOOLEAN
DECIMAL, DECIMALVAL
DATE, DATETIME, TIMESTAMP, IntervalDayTime, IntervalYearMonth
STRING, BINARY, VARCHAR, CHAR
ARRAY, STRUCT, MAP
element : obligatoire. Élément à rechercher. Son type de données doit correspondre à celui des éléments du tableau a.
Valeur renvoyée
La fonction renvoie une valeur de type BIGINT selon les règles suivantes :
Si le tableau a ou l'élément element est NULL, la fonction renvoie NULL.
Si l'élément est introuvable, la fonction renvoie 0.
Exemples
-
Exemple 1 : Renvoyer la position de la première occurrence de l'élément
1dans le tableauarray(3, 2, 1).--返回3。 select array_position(array(3, 2, 1), 1); -
Exemple 2 : Le paramètre element a la valeur NULL.
--返回NULL。 select array_position(array(3, 1, null), null);
Fonctions associées
La fonction ARRAY_POSITION fait partie des fonctions de type complexe. Pour plus d'informations sur le traitement des données de type complexe (ARRAY, MAP, STRUCT, JSON), consultez la rubrique Complex type functions.