【Oracle】位运算
1、与 and
oracle自带函数bitand(int,int)
select bitand(2,4) from dual;

2的二进制是0010,4的二进制是0100,与的结果是0
2、或 or
bitor(a,b)=a+b-bitand(a,b)
建立自定义函数bitor(a,b)
create or replace function bitor(a in int,b in int)
return int
is
begin
return a+b-bitand(a,b);
end;
/
select bitor(2,4) from dual;

2的二进制是0010,4的二进制是0100,或的结果是6

3、异或 xor
bitxor = a+b -2*bitand(a,b)
建立自定义函数bitxor(a,b)
create or replace function bitxor(a in int ,b in int)
return int
is
begin
return a+b-2*bitand(a,b);
end;
/
select bitxor(2,10) from dual;

2的二进制是0010,10的二进制是1010,异或的结果是8

参考地址
oracle位运算 : https://blog.csdn.net/xingdavis/article/details/12379385
作者:小念
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

浙公网安备 33010602011771号