- - PR -
ORACLEで論理和演算
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-29 13:06
初めて投稿します。初心者ですので、よろしくご指導願います。
ORACLEで論理和演算をしたいのですが、下記のような事は可能なのでしょうか? 値1:10101 2つの値の論理和演算をして 値2:00010 結果として、10111 を求めたいです。 | ||||||||
|
投稿日時: 2007-03-29 13:25
OracleのバージョンをXX.X.X.X形式でお知らせ下さい。 | ||||||||
|
投稿日時: 2007-03-29 14:39
UTL_RAW.BIT_OR を使う
または BITAND を使う方法があります www.jlcomp.demon.co.uk/faq/bitwise.html | ||||||||
|
投稿日時: 2007-03-29 15:02
UTL_RAWパッケージは8i(8.1.6)以降で使用可能となります。 rawとhexの間での型変換が必要になります。
BITANDは論理積で、論理和では有りませんね。 例えば、 select BITAND(5,1) from dual; の結果は、1が返却されます。 | ||||||||
|
投稿日時: 2007-03-29 15:09
YASUYOKAさんへ
提示したURLをちゃんと読まれてから書かれていますか? BITAND だけで 論理和を表現できます [ メッセージ編集済み 編集者: Tetra 編集日時 2007-03-29 15:13 ] | ||||||||
|
投稿日時: 2007-03-29 15:22
ユーザファンクションでbitorとbitxorを作成せよ、 と書かれていましたね。 失礼しました。 | ||||||||
|
投稿日時: 2007-04-03 12:48
YASUYOKAさん、Tetraさん 回答ありがとうございます。
Oracleのバージョンは、10gです。 教えていただいたページを見たのですが、すぐに内容がわからず遅くなってしまいました。すいません。。。 とりあえず関数を作ってやってみたらいいのかなぁと思っています。 またわからない時は、相談にのって下さい。 | ||||||||
|
投稿日時: 2007-04-03 14:29
10gR2として補足いたします。 取り敢えず、OTN(Oracle Technology Network)で会員登録しましょう。 # 登録自体は無料です。 そして、「マニュアル」コーナーの「Oracle Database 10g Release 2 (10.2) ドキュメント」→「[R10.2]」→「Generic Doc」から「Books」タブ の「PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス」(HTML) を選択して「174 UTL_RAW」の説明群中の「BIT_ORファンクション」を参照 してください。 また、同時に「SQL リファレンス」の「HEXTORAW」ファンクションと 「RAWTOHEX」ファンクションも参照してください。 なお、「SQL リファレンス」も上記OTNのマニュアルコーナーに存在します ので、そちらから参照して頂いてもOKです。 | ||||||||
1
