Meestal gebruik ik patroonherkenning met het trefwoord "niet in".
SELECT kolom1 from tabel where kategori not in ('A', 'B')
Toen probeerde ik het trefwoord "niet zoals elke" te gebruiken
SELECT kolom1 from tabel where kategori not like any (array['A', 'B'])
Ik denk dat het resultaat hetzelfde zal zijn. Maar na het uitvoeren zijn de resultaten anders. Ik ben benieuwd waarom de resultaten anders zijn en nadat ik erachter ben gekomen hoe het trefwoord werkt, is dat het waar wordt geretourneerd als aan een van de elementen wordt voldaan. Dus als het element A wordt vergeleken met het trefwoord niet zoals elk ander, zal het waar zijn omdat het aan de criteria voldoet, niet aan een van de elementen in de array, namelijk B. En vice versa. Hoewel het gewenste resultaat noch element A noch element B is. Om dit probleem te beantwoorden, wordt het trefwoord "niet zoals alle" gebruikt.
SELECT kolom1 from tabel where kategori not like all (array['A', 'B'])
Verwijzing
stapeloverloop