När du gör det
select 2 != any(array[2,3,4]);
?column?
----------
t
2
kommer att jämföras med alla array-objekt och om det finns några som 2
är inte lika kommer det att utvärderas till true
.
Använd 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
Eller != all
select 1 != all(array[2,3,4]);
?column?
----------
t
select 2 != all(array[2,3,4]);
?column?
----------
f