web-dev-qa-db-fra.com

Comment basculer un champ booléen par sql dans postgresql?

Il y a un champ show qui est un type boolean dans postgesql.

Je veux écrire un sql pour mettre à jour cette table, pour basculer la valeur de show. Si c'est true, il devient false, si c'est false, il devient true.

C'est possible?

16
Freewind

Cela fera:

SET show = NOT show

donc une valeur de

TRUE devient FALSE,

FALSE devient TRUE,

UNKNOWN (NULL) reste UNKNOWN.

24
ypercubeᵀᴹ

Les éléments suivants transformeront FALSE ou NULL en TRUE et TRUE en FALSE:

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
1
Kevin Traas