Postgresql'de bir Boole alanını sql ile nasıl değiştirebilirim?


15

Postgesql'de showbir booleantür olan bir alan vardır .

Şovun değerini değiştirmek için bu tabloyu güncellemek için bir sql yazmak istiyorum. Eğer öyleyse true, olur false, öyleyse false, olur true.

Mümkün mü?

Yanıtlar:


23

Bu yapacaktır:

SET show = NOT show

yani bir değeri

TRUEolur FALSE,

FALSEolur TRUE,

UNKNOWN( NULL) kalır UNKNOWN.


1
@a_horse_with_no_name: Evet, ama 30 karakter sınırlamasını kapsayacak bir şeyler yazmak zorunda kaldım. Zaten vardı TRUEve FALSEüzerinde bir varyasyon UNKNOWNuygun :)
ypercubeᵀᴹ

Bu harika, zarif ve tam olarak istediğim şeydi. Ultra mümkün bu sadece mümkün MySQL değil.
4'te sudowned

1

Aşağıdaki dönecek FALSEya NULLkadar TRUEve TRUEhiç FALSE:

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.