Допустим, у нас есть запрос вроде:
SELECT regexp_split_to_array('foo,bar', ',');
Результаты:
+-----------------------+
| regexp_split_to_array |
+-----------------------+
| {foo,bar} |
+-----------------------+
(1 row)
Чтобы получить доступ к одному элементу массива, мы можем использовать код, подобный:
SELECT (regexp_split_to_array('foo,bar', ','))[1];
Который вернет:
+-----------------------+
| regexp_split_to_array |
+-----------------------+
| foo |
+-----------------------+
(1 row)
Или используйте такие фрагменты как:
SELECT (regexp_split_to_array('foo,bar', ','))[2:];
Результат:
+-----------------------+
| regexp_split_to_array |
+-----------------------+
| {bar} |
+-----------------------+
(1 row)
Однако, когда я пытаюсь получить доступ к 2элементы, например:
SELECT (regexp_split_to_array('foo,bar', ','))[1,2];
или
SELECT (regexp_split_to_array('foo,bar', ','))[1][2];
или любой другой синтаксис, я получаю сообщение об ошибке:
ERROR: syntax error at or near ","
Возможно ли получить дваразные и не смежные элементы массива в PostgreSQL?