Quand tu fais
select 2 != any(array[2,3,4]);
?column?
----------
t
2
sera comparé à tous les éléments du tableau et s'il y en a à quel 2
n'est pas égal, il sera évalué à true
.
Utilisez not id = any(array[2,3,4])
select not 1 = any(array[2,3,4]);
?column?
----------
t
select not 2 = any(array[2,3,4]);
?column?
----------
f
Ou != all
select 1 != all(array[2,3,4]);
?column?
----------
t
select 2 != all(array[2,3,4]);
?column?
----------
f