MySQL4.0のWHERE句でビットマスクを使えますか?


 ○例
  X1列の上位4ビットが立っている行を表示

   select * from table
   where X1 | 0x11110000

回答の条件
  • 1人2回まで
  • 登録:2007/02/10 00:23:14
  • 終了:2007/02/10 00:58:20

ベストアンサー

id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/02/10 00:42:29

ポイント50pt

実際に試してないのであれですが、

ビット関数の返り値は BIGINT、WHERE 句が期待するのは BOOLEAN ですよね?

select * from table
  where ( X1 | 0x11110000 ) > 0;

で、どうでしょう?

id:katsube

あ、なるほど、なるほど。

これでうまくいきました!ありがとうございますー。

2007/02/10 00:57:51

その他の回答(1件)

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472007/02/10 00:34:24

ポイント20pt

「使える」と公式マニュアルに書いてあります。

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.3.6.1 ビット関数

id:katsube

SELECT句だと使えるんですけどね。

WHERE句だと設問文のような感じで期待通り動かないので聞いているのです。書き方ですかね?

2007/02/10 00:36:15
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/02/10 00:42:29ここでベストアンサー

ポイント50pt

実際に試してないのであれですが、

ビット関数の返り値は BIGINT、WHERE 句が期待するのは BOOLEAN ですよね?

select * from table
  where ( X1 | 0x11110000 ) > 0;

で、どうでしょう?

id:katsube

あ、なるほど、なるほど。

これでうまくいきました!ありがとうございますー。

2007/02/10 00:57:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません