- ベストアンサー
ビット指定で検索できますか?
みなさん、こんにちは。 32ビット値のフィールドvalに対して、「val & 0x00000005 != 0」となるレコードを抽出できるようなSQLコマンドはないでしょうか? どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 Oracle であれば、BITAND ファンクションが提供されています。 SQL> select * from Table where BITAND(val, 5) != 0; のように指定できます。
その他の回答 (1)
- YanYas
- ベストアンサー率34% (26/75)
回答No.1
使用されているDBMSが不明なのではっきり言えませんが・・・ Where句にそのまま記述すればよいと思いますよ。 お使いのDBMSの論理演算の記述方法を確認してみてください。 (例) select * from Table where val & 0x0000005 != 0
質問者
補足
回答いただき、ありがとうございます。 Access で試したところ、 残念ながら、うまく動作しませんでした。 HDDの容量をケチろうという目論見でした。 SQL でフィールドのサイズをビット単位で 指定できればありがたいのですが・・・
お礼
ありがとうございます。 実は Access でした。 でも、Oracle もたまに使いますので・・・