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