Làm thế nào để chuyển đổi một trường boolean bằng sql trong postgresql?


15

Có một trường showlà một booleanloại trong postgesql.

Tôi muốn viết một sql để cập nhật bảng đó, để chuyển đổi giá trị của chương trình. Nếu nó true, nó trở thành false, nếu nó false, nó trở thành true.

Có thể không?

Câu trả lời:


23

Điều này sẽ làm:

SET show = NOT show

vì vậy một giá trị của

TRUEtrở thành FALSE,

FALSEtrở thành TRUE,

UNKNOWN( NULL) ở lại UNKNOWN.


1
@a_horse_with_no_name: Vâng, nhưng tôi đã phải viết một cái gì đó để giới hạn 30 ký tự. Vì chúng tôi đã có TRUEFALSE , một biến thể trên UNKNOWNlà phù hợp :)
ypercubeᵀᴹ

Điều này là tuyệt vời, thanh lịch, và chính xác những gì tôi muốn. Ultra rất vui vì điều này không chỉ có thể với MySQL.
khởi kiện

1

Sau đây sẽ biến FALSEhoặc NULLđến TRUE, và TRUEđể FALSE:

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.