[pgsql-jp: 33763] ビット演算について

TFL)久村 孝之 hisamura.takayuki @ tfl.fujitsu.com
2004年 7月 27日 (火) 11:51:11 JST


こんにちは。久村と申します。

[pgsql-jp: 33018]に関連した質問です。

以前、7.2.1を利用していました。
この環境では、psqlにて以下のビット演算が可能でした。

 select id from test_table where (id & x'FF0000') = x'080000';

このたび、システム全体をアップグレードするため、PostgreSQLの
バージョンを7.4.3にあげることを検討しています。
7.4.3にて同様のSQLを実行したところ、以下のエラーメッセージが
出力されました。

 operator does not exist: integer & bit

「id」はintで定義しています。
ユーザー定義関数を作成してオペレータを作成すれば同じようなこと
は出来ると思いますが、何か他の手はないでしょうか。
x'FF0000'を数値で表すと動きましたが、難解になるので16進のまま
で出来ると良いのですが。

環境は以下の通りです。
 Linux:2.4.20-8
 PostgreSQL:7.4.3

ご存知の方がいらっしゃいましたらご教授ください。

以上
---------------------------------------------------------------------
久村 孝之
e-mail:hisamura.takayuki @ tfl.fujitsu.com
---------------------------------------------------------------------




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