В PostgreSQL вы можете получить доступ к элементам внутри массива, используя индексирование массива. Массивы PostgreSQL имеют индекс 1, то есть первый элемент массива имеет индекс 1, а не 0.

Синтаксис — доступ к элементам массива в PostgreSQL:

array[index]

array: Массив, к элементу которого вы хотите получить доступ.

index: позиция элемента, который вы хотите получить, начиная с 1.

Примеры — доступ к элементам массива в PostgreSQL:

Доступ к первому элементу массива:

Для доступа к первому элементу массива{‘Bread’, ‘Butter’, ‘Jam’} мы будем использовать индекс массива, первый индекс будет обозначать первую позицию и т. д.

SELECT (ARRAY['Bread', 'Butter', 'Jam'])[1] AS first_element;

Результат:

PostgreSQL の配列要素にアクセスする 1

Доступ к третьему элементу массива:

Для доступа к третьему элементу массива{‘Bread’, ‘Butter’, ‘Jam’} мы будем использовать индекс. Упоминание 3 в индексе приведет к извлечению или доступу к третьей позиции.

SELECT (ARRAY['Bread', 'Butter', 'Jam'])[3] AS third_element;

Результат:

PostgreSQL の配列要素にアクセスする 2

Доступ к элементу в столбце массива в PostgreSQL:

Вы можете извлечь N-й элемент столбца массива в таблице PostgreSQL.

Давайте используем имя таблицы «orders_arr_table»  

PostgreSQL の配列要素にアクセスする 3

В столбце массива вы можете получить доступ к его элементам, используя индексацию массива. Массивы PostgreSQL имеют индекс 1, то есть первый элемент имеет индекс 1.

Доступ к первому элементу столбца массива в PostgreSQL

Пример:Чтобы получить доступ к первому элементу массива, мы указываем имя столбца, а затеминдексируя в нашем примере, order_items[1] даст первый пункт

SELECT * , order_items[1] AS first_item FROM orders_arr_table;

Результат:

PostgreSQL の配列要素にアクセスする 4

Доступ ко второму элементу столбца массива в PostgreSQL

Пример:Чтобы получить доступ ко второму элементу массива, мы указываем имя столбца, а затеминдексируя в нашем примере, order_items[2]даст второй пункт

SELECT * , order_items[2] AS Second_item FROM orders_arr_table;

Результат:

PostgreSQL の配列要素にアクセスする 5

Доступ к последнему элементу столбца массива в PostgreSQL

Пример:Чтобы получить доступ к последнему элементу массива, мы используем функцию array_length(), чтобы найти длину массива и передать ее в качестве значения для индексации.

SELECT *, order_items[array_length(order_items, 1)] AS last_item FROM orders_arr_table;

Результат:

PostgreSQL の配列要素にアクセスする 6

Доступ к нескольким элементам столбца массива в PostgreSQL

Пример:Для доступа к нескольким элементам массива используются определенные значения индексации для извлечения n-го элемента массива, а если требуется извлечь последний элемент, мы используем функцию array_length(), чтобы найти длину массива и передать ее в качестве значения для индексации.

SELECT *, order_items[1] AS first_item, order_items[2] AS second_item, order_items[array_length(order_items, 1)] AS last_item FROM orders_arr_table;

Результат:

PostgreSQL の配列要素にアクセスする 7