Oracle中的位运算以及推导公式
Oracle中只有位余运算:BITAND,表示返回两个数值型数值在按位进行 AND 运算后的结果。
语法:BITAND(nExpression1, nExpression2)
BITAND将 nExpression1 的每一位同 nExpression2 的相应位进行比较。如果 nExpression1 和 nExpression2 的位都是 1,相应的结果位就是 1;否则相应的结果位是 0。
例如:
select bitand(0,0) from dual --0 select bitand(1,0) from dual --0 select bitand(0,1) from dual --0 select bitand(1,1) from dual --1
其实一说位运算大家就会想到位与、位异、位异或,但oracle本身没有bitor,bitxor函数的。
不过可以利用bitand来转换:
BITOR(x,y) = (x + y) - BITAND(x, y) BITXOR(x,y) = BITOR(x,y) - BITAND(x,y) = (x + y) - BITAND(x, y) * 2
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。