Bagaimana cara mengganti bidang boolean dengan sql di postgresql?


15

Ada bidang showyang merupakan booleantipe di postgesql.

Saya ingin menulis sql untuk memperbarui tabel itu, untuk mengganti nilai pertunjukan. Jika itu true, itu menjadi false, jika itu false, itu menjadi true.

Apa itu mungkin?

Jawaban:


23

Ini akan melakukan:

SET show = NOT show

jadi nilai

TRUEmenjadi FALSE,

FALSEmenjadi TRUE,

UNKNOWN( NULL) tetap UNKNOWN.


1
@a_horse_with_no_name: Ya, tapi saya harus menulis sesuatu untuk menutupi batasan 30 karakter. Karena kita sudah punya TRUEdan FALSE, variasi UNKNOWNsesuai sudah :)
ypercubeᵀᴹ

Ini luar biasa, elegan, dan persis apa yang saya inginkan. Sangat senang ini bukan hanya MySQL yang mungkin.
Tiba

1

Berikut ini akan berubah FALSEatau NULLke TRUE, dan TRUEke FALSE:

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.