postgresql에서 SQL로 부울 필드를 토글하는 방법은 무엇입니까?


15

postgesql show에는 boolean유형 인 필드가 있습니다 .

show 값을 토글하기 위해 해당 테이블을 업데이트하기 위해 SQL을 작성하고 싶습니다. 가 있다면 true, 그것은 될 false것이 있다면, false그것은된다 true.

가능합니까?

답변:


23

이것은 할 것이다 :

SET show = NOT show

그래서 가치

TRUE된다 FALSE,

FALSE된다 TRUE,

UNKNOWN( NULL)가 유지됩니다 UNKNOWN.


1
@a_horse_with_no_name : 예,하지만 30 자 제한을 다루는 내용을 작성해야했습니다. 우리가 이미 가지고 있기 때문에 TRUE그리고 FALSE,에 변화 UNKNOWN: 적절한이었다
ypercubeᵀᴹ

이것은 훌륭하고 우아하며 정확하게 내가 원하는 것입니다. 이것이 가능한 MySQL 일뿐 만 아니라 매우 기쁩니다.
중단

1

다음은 켜집니다 FALSE또는 NULL합니다 TRUETRUE합니다 FALSE:

UPDATE tablename SET fieldname = NOT COALESCE( fieldname, 'f' ) WHERE keyvalue = ?;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.