- PR -

ORACLEで論理和演算

1
投稿者投稿内容
ORCLE初心者
会議室デビュー日: 2007/03/29
投稿数: 4
投稿日時: 2007-03-29 13:06
初めて投稿します。初心者ですので、よろしくご指導願います。

ORACLEで論理和演算をしたいのですが、下記のような事は可能なのでしょうか?

 値1:10101 2つの値の論理和演算をして
 値2:00010   結果として、10111 を求めたいです。
YASUYOKA
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 71
投稿日時: 2007-03-29 13:25
引用:

ORCLE初心者さんの書き込み (2007-03-29 13:06) より:

ORACLEで論理和演算をしたいのですが、下記のような事は可能なのでしょうか?




OracleのバージョンをXX.X.X.X形式でお知らせ下さい。
未記入
会議室デビュー日: 2006/03/22
投稿数: 19
投稿日時: 2007-03-29 14:39
UTL_RAW.BIT_OR を使う
または BITAND を使う方法があります
www.jlcomp.demon.co.uk/faq/bitwise.html
YASUYOKA
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 71
投稿日時: 2007-03-29 15:02
引用:

Tetraさんの書き込み (2007-03-29 14:39) より:
UTL_RAW.BIT_OR を使う



UTL_RAWパッケージは8i(8.1.6)以降で使用可能となります。
rawとhexの間での型変換が必要になります。

引用:

または BITAND を使う方法があります



BITANDは論理積で、論理和では有りませんね。

例えば、

select BITAND(5,1) from dual;

の結果は、1が返却されます。
未記入
会議室デビュー日: 2006/03/22
投稿数: 19
投稿日時: 2007-03-29 15:09
YASUYOKAさんへ
提示したURLをちゃんと読まれてから書かれていますか?
BITAND だけで 論理和を表現できます

[ メッセージ編集済み 編集者: Tetra 編集日時 2007-03-29 15:13 ]
YASUYOKA
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 71
投稿日時: 2007-03-29 15:22
引用:

Tetraさんの書き込み (2007-03-29 15:09) より:
YASUYOKAさんへ
提示したURLをちゃんと読まれてから書かれていますか?
BITAND だけで 論理和を表現できます

[ メッセージ編集済み 編集者: Tetra 編集日時 2007-03-29 15:13 ]



ユーザファンクションでbitorとbitxorを作成せよ、
と書かれていましたね。

失礼しました。
ORCLE初心者
会議室デビュー日: 2007/03/29
投稿数: 4
投稿日時: 2007-04-03 12:48
YASUYOKAさん、Tetraさん 回答ありがとうございます。
Oracleのバージョンは、10gです。

教えていただいたページを見たのですが、すぐに内容がわからず遅くなってしまいました。すいません。。。
とりあえず関数を作ってやってみたらいいのかなぁと思っています。
またわからない時は、相談にのって下さい。
YASUYOKA
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 71
投稿日時: 2007-04-03 14:29
引用:

ORCLE初心者さんの書き込み (2007-04-03 12:48) より:
Oracleのバージョンは、10gです。

とりあえず関数を作ってやってみたらいいのかなぁと思っています。
またわからない時は、相談にのって下さい。



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

スキルアップ/キャリアアップ(JOB@IT)