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

Как да превключите булева стойност в postgres в една заявка

Използвайте НЕ :

UPDATE table SET boolean_field = NOT boolean_field WHERE id = :id

Когато старата стойност е равна на FALSE, тогава тя се превръща в TRUE и обратно. NULL поле няма да се обърне, няма към какво да се обърне.

Пълен пример:

CREATE TABLE test(id serial, boolean_field boolean);

INSERT INTO test(boolean_field) 
VALUES(null),(false), (true) 
RETURNING *;

И изпълнете теста:

UPDATE test
SET boolean_field = NOT boolean_field 
RETURNING *;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Няма достъп до таблица без име на public.table. Има ли начин да се отървем от обществеността?

  2. Django ORM разчита неправилно PostgreSQL последователности?

  3. Когато стартирам тестови случаи, получавам тази грешка:psycopg2.OperationalError:cursor _django_curs_140351416325888_23 не съществува

  4. Намерете и сумирайте диапазони от дати с припокриващи се записи в postgresql

  5. Поръчайте varchar низ като число