Можете ли вы передать (Postgres) массивы из Go?
Затем вы можете переписать оператор в
where col2 <> ALL ($1)
and col3 <> all ($2)
, где $1
и $2
- это (Postgres) массивы, содержащие значения.
Если вы можете Не передавая правильные экземпляры массива, вы можете передать значения в виде строки, которая отформатирована так, чтобы ее можно было привести к массиву.
select col1
from awesome_table
where col2 <> ALL ( (cast $1 as int[]) )
and col3 <> ALL ( (cast $2 as text[]) );
Тогда вы можете передать '{1,2,3}'
для первого параметра и, например, '{"foo", "bar"}'
в качестве второго параметра. Вам необходимо настроить типы массивов в соответствии с фактическими типами данных ваших столбцов