PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przełączyć wartość logiczną w postgresie w jednym zapytaniu

Użyj NIE :

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

Kiedy stara wartość jest równa FALSE, zmienia się na TRUE i odwrotnie. Pole NULL nie zostanie odwrócone, nie ma do czego odwrócić.

Pełny przykład:

CREATE TABLE test(id serial, boolean_field boolean);

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

I uruchom test:

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. Przekazywanie wielu wartości w jednym parametrze

  2. Wyodrębnij dzień tygodnia z pola daty w PostgreSQL, zakładając, że tygodnie zaczynają się w poniedziałek

  3. 2. kwadrant na PostgresConf US 2018

  4. Postgres:Jak zrobić klucze kompozytowe?

  5. Wybierz typ danych pola w postgresie