如何在PostgreSQL中通过SQL切换布尔字段?


15

有一个领域show是一个boolean在postgesql类型。

我想编写一个sql来更新该表,以切换show的值。如果是true,它就变成了false,如果是false,它就变成了true

可能吗?

Answers:


23

这样可以:

SET show = NOT show

所以值

TRUEFALSE

FALSETRUE

UNKNOWNNULL)留下来UNKNOWN


1
@a_horse_with_no_name:是的,但是我不得不写一些东西来覆盖30个字符的限制。既然我们已经有了TRUEFALSE上的变化UNKNOWN是适当:)
ypercubeᵀᴹ

这太棒了,优雅,正是我想要的。非常高兴这不仅是MySQL。
2012年

1

下面将转向FALSENULLTRUE,并TRUEFALSE

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.