I have the following sample data for demo:
Table:
create table tbl_array
(
array_data varchar[]
);
Some values:
insert into tbl_array values('{AUS,USA}'),('{IND,SA}'),('{UK,UAE,NZ}'),('{CAN,BAN,SL,KW}');
Query: I have input values {USA,AUS}
or {KW,CAN,SL,BAN}
or {UK,UAE,NZ}
to get details from tbl_array. Input values can come with any sequence.
Expected Output:
For {USA,AUS}
:
array_data
-------------
{AUS,USA}
For {KW,CAN,SL,BAN}
:
array_data
-------------
{CAN,BAN,SL,KW}
For {UK,UAE,NZ}
:
array_data
-------------
{UK,UAE,NZ}
Try:
select *
from tbl_array where array_data = ALL('{USA,AUS}');
Getting an error:
could not find array type for data type character varying[]