sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man växlar en boolean i postgres i en fråga

Använd INTE :

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

När det gamla värdet är lika med FALSE blir det SANT och tvärtom. Ett NULL-fält vänds inte, det finns inget att vända till.

Komplett exempel:

CREATE TABLE test(id serial, boolean_field boolean);

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

OCH kör testet:

UPDATE test
SET boolean_field = NOT boolean_field 
RETURNING *;


  1. Optimera Postgres tidsstämpel frågeintervall

  2. Hur man åtgärdar saknade fält i en korstabellfråga i Access

  3. JPA Hibernate Persistence undantag [PersistenceUnit:default] Det går inte att bygga Hibernate SessionFactory

  4. EntityFramework 6.1.3 och MySQL DbFunctions.TruncateTime existerar inte?