- 我有一个数组列在postgress表
- 我有一个值列表
想要跳过包含我的列表中任何值的所有行
Id Subjects
1 [English, SST]
2 [Science, Maths]
3 [Hindi, Sanskrit]
想要选择主题不包含任何[英语,印地语,梵语]的行,因此输出应该只有id = 2
有
create table tt
("Id" int,"Subjects" text[]);
insert into tt values
(1, array['English', 'SST']),
(2, array['Science', 'Maths']),
(3, array['Hindi', 'Sanskrit']);
然后
select "Id" from tt
where not "Subjects" && array['English', 'Hindi', 'Sanskrit'];
与数组操作符重叠(元素相同)。小提琴
比较应该是
NOT subjects && list
如果NULL数组(主题或列表)应该被视为未知,或者
subjects && list IS NOT TRUE
如果NULL数组应被视为空数组。
如果subject和list中的一个或两个都为NULL,则第一个选项返回NULL。