7

SQL Serverではシンボルを使用していますが、 Oracle^では機能しないようです。

OROracleでビット単位の排他を行うにはどうすればよいですか?

4

4 に答える 4

9

ドキュメントから:

function bitor(p1 number, p2 number) return number is
begin
  return p1-bitand(p1,p2)+p2;
end;

function bitxor(p1 number, p2 number) return number is
begin
  return bitor(p1,p2)-bitand(p1,p2);
end;

これらが機能することを確認するには、入力に 0 と 1 のみを使用してロジックに従い、ボローやカリエスがないことを確認します。

-- マーカスQ

于 2009-03-03T00:43:54.523 に答える
5

BITAND演算子があります:

select bitand(49,54)+0 from dual;

それから他の演算子を構築することができます。

于 2009-03-03T00:14:29.040 に答える
3

簡単な方法はありません。

HEX文字列値を値にキャストして、次RAWを使用できますUTL_RAW

SELECT UTL_RAW.bit_xor(HEXTORAW(TO_CHAR(1, 'FMX')), HEXTORAW(TO_CHAR(2, 'FMX')))
FROM dual

---
 03
于 2009-03-03T00:19:39.450 に答える