- - PR -
Byteの計算
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-20 12:11
こんにちは。
バイト計算に困っています。あるテーブルにIDというフィールドがあって そのフィールドに Byte(1)をORさせるSQL文を発行しています。 SQL UPDATE Tbl1 SET ID = ID Or 1 しかしこのSQLを実行すると、IDがすべて 255 になってしまいます。 簡単な質問ですいませんが、お分かりの方いらっしゃいましたら情報 提供よろしくお願いします。 環境 MicroSoft Access 2000 SP3 | ||||
|
投稿日時: 2005-01-20 17:37
上の式は「ID 又は 1が真ならば真」と言う意味の論理式であって「IDと1のビット毎の論理和」を計算するビット演算式ではない。SQLServerで論理和を計算したいなら「UPDATE Tbl1 SET ID = ID | 1」と書く所だけど、ACCESSがビット演算式に対応しているかは知らない。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||
|
投稿日時: 2005-01-20 17:44
甕星さん、返信ありがとうございます。
Accessで論理和 | には対応していないようですね。対応方法を変え、一度データ を取得してから、IDを書き換えて、Updateするようにします。 今行っている事がWebシステムで、クライアント側にAccess,サーバ側にSQLServer を置くことになってしまいまして、このような問題に当たっていました。とにかく 出来なさそうなので、面倒ですが、一個一個やっていきます。 | ||||
|
投稿日時: 2005-01-21 08:41
試してみたところ、ACCESS 2002 では SQL で mod が使えたので、
ID = ID + 1 - (ID mod 2) でできないことはないけど、わかりづらいかも。 | ||||
|
投稿日時: 2005-01-21 08:48
にしざきさん、返信ありがとうございます。
Access 2000でも実行可能みたいです。modでやる方法はさすがに 思いつきませんでした。勉強になりました。 以上です。今後ともよろしくお願い致します。 |
1