sql >> Databáze >  >> RDS >> PostgreSQL

Jak přepnout boolean v postgresu v jednom dotazu

Použijte NE :

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

Když se stará hodnota rovná FALSE, změní se na TRUE a naopak. Pole NULL se nepřeklopí, není zde nic, na co by se dalo převrátit.

Úplný příklad:

CREATE TABLE test(id serial, boolean_field boolean);

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

A spusťte test:

UPDATE test
SET boolean_field = NOT boolean_field 
RETURNING *;


  1. Vytvoření uložené procedury v MySQL5 pomocí <CFQUERY>-Tag ColdFusion 9

  2. Oracle datetime ve VB.net

  3. Dotazování dat v datovém poli pole JSON

  4. Drupal hook_submit zápis do db