У меня есть следующие образцы данных для демонстрации:
Таблица :
create table tbl_array
(
array_data varchar[]
);
Некоторые значения:
insert into tbl_array values('{AUS,USA}'),('{IND,SA}'),('{UK,UAE,NZ}'),('{CAN,BAN,SL,KW}');
Запрос : у меня есть входные значения {USA,AUS}
или {KW,CAN,SL,BAN}
или {UK,UAE,NZ}
, чтобы получить подробную информацию из tbl_array. Входные значения могут иметь любую последовательность.
Ожидаемый результат :
Для {USA,AUS}
:
array_data
-------------
{AUS,USA}
Для {KW,CAN,SL,BAN}
:
array_data
-------------
{CAN,BAN,SL,KW}
Для {UK,UAE,NZ}
:
array_data
-------------
{UK,UAE,NZ}
Попробуйте :
select *
from tbl_array where array_data = ALL('{USA,AUS}');
Получение ошибки:
не удалось найти тип массива для символа типа данных изменяющийся []