Kategorien:

Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)

ARRAY_POSITION

Gibt den ersten vorkommenden Index eines Elements in einem Array zurück.

Syntax

ARRAY_POSITION( <variant_expr> , <array> )
Copy

Argumente

value_expr

In array zu suchender Wert.

array

Das zu durchsuchende ARRAY.

Rückgabewerte

Die Funktion gibt einen INTEGER-Wert zurück, der die Position von value_expr in array angibt.

Nutzungshinweise

  • Der Rückgabewert ist 0-basiert, nicht 1-basiert. Wenn also value_expr mit dem ersten Element im Array übereinstimmt, gibt diese Funktion 0 zurück, nicht 1.

  • Wenn der Wert nicht im ARRAY enthalten ist, wird NULL zurückgegeben.

  • Wenn Sie NULL für value_expr angeben, gibt die Funktion die Position des ersten NULL im Array zurück.

Beispiele

Die folgenden Beispiele zeigen die Verwendung dieser Funktion:

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