PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешка при използване на съвпадение на шаблон, което не е като всички в PostgreSQL

Обикновено използвам съвпадение на шаблон, използвайки ключовата дума "не е в".

SELECT kolom1 from tabel where kategori not in ('A', 'B')

След това се опитах да използвам ключовата дума "не като всеки"

SELECT kolom1 from tabel where kategori not like any (array['A', 'B'])

Мисля, че резултатът ще бъде същият. Но след бягане резултатите са различни. Любопитен съм защо резултатите са различни и след като разбера как работи ключовата дума any е, че тя ще върне true, ако някой от елементите е изпълнен. Така че, ако елементът A се сравнява с ключовата дума не като всяка, това ще бъде вярно, защото отговаря на критериите, а не на един от елементите в масива, а именно B. И обратното. Докато желаният резултат не е нито елемент А, нито елемент Б. За да се отговори на този проблем, се използва ключовата дума „не като всички“.

SELECT kolom1 from tabel where kategori not like all (array['A', 'B'])

Справка
stackoverflow


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя заявка за всички редове в радиус от 5 мили от моите координати?

  2. Cloud9 постгрес

  3. Инструменти за генериране на диаграма на таблици на база данни с PostgreSQL?

  4. Инсталиране на PostgreSQL в Ubuntu за Ruby on Rails

  5. Възстановяване на архивен файл на postgres с помощта на командния ред?