Thông thường tôi sử dụng đối sánh mẫu bằng cách sử dụng từ khóa "not in".
SELECT kolom1 from tabel where kategori not in ('A', 'B')
Sau đó, tôi đã cố gắng sử dụng từ khóa "không giống bất kỳ"
SELECT kolom1 from tabel where kategori not like any (array['A', 'B'])
Tôi nghĩ rằng kết quả sẽ giống nhau. Nhưng sau khi chạy kết quả khác hẳn. Tôi tò mò tại sao các kết quả lại khác nhau và sau khi tôi tìm hiểu, cách hoạt động của bất kỳ từ khóa nào là nó sẽ trả về true nếu một trong các yếu tố được đáp ứng. Vì vậy, nếu phần tử A được so sánh với từ khóa không giống bất kỳ, nó sẽ đúng vì nó đáp ứng tiêu chí, không phải một trong các phần tử trong mảng, cụ thể là B. Và ngược lại. Trong khi kết quả mong muốn không phải là phần tử A cũng không phải phần tử B. Để trả lời vấn đề này, từ khóa "không giống như tất cả" được sử dụng.
SELECT kolom1 from tabel where kategori not like all (array['A', 'B'])
Thẩm quyền giải quyết
stackoverflow