[pgsql-jp: 29496] 真偽値の反対の値

KITAO Kaoru kitao @ netcube.jp
2003年 3月 28日 (金) 18:36:04 JST


いつもお世話になります。北尾です。
以下の作業をPHPのウェブアプリケーション上で実施したいのですが、イマイ
チすっきりと記述できません。

[やりたいこと]
特定のレコードの真偽値を逆転させたい
(真→偽、または偽→真)

たとえば以下のSQL文を記述すると真偽の値が"t"または"f"で取得できます。
SELECT colname_真偽値 FROM tablename WHERE colname_key="値";
これによって取得された値が"t"なのか"f"なのかを判別し、それぞれに対応
したSQL文(UPDATE文)を組み立てれば当然私がやりたいことは可能です。
しかし、どうも記述がスマートでないように思います。

たとえば以下のような記述ができないものでしょうか。
UPDATE tablename SET colname_真偽値=逆の値関数(SELECT colname_真偽値
FROM tablename WHERE colname_key="値") WHERE colname_key="値";
上記のSQL文で書いた「逆の値関数」に相当するものはありますでしょうか。
また「SQLではできないがPHPならこう書ける」という案でもお教えいただけ
ればと思います。

わかりにくい説明で申し訳ないですが、よろしくご教授ください。

環境:
Redhat7.3
Postgresql7.2.1
PHP4.3.1

-------------------------------------------
   □   KITAO Kaoru (北尾 馨)
  □  CubeWorks Inc, Ibaraki Pref.




pgsql-jp メーリングリストの案内