bitand
CREATE OR REPLACE FUNCTION bitor (n1 NUMBER, n2 NUMBER) RETURN NUMBER
2 IS
3 n1_tmp NUMBER := trunc(n1);
4 n2_tmp NUMBER := trunc(n2);
5 BEGIN
6 RETURN n1_tmp + n2_tmp - bitand(n1_tmp, n2_tmp);
7 END;
8 /
-----------------------------------------------------------------------
CREATE OR REPLACE FUNCTION bitxor (n1 NUMBER, n2 NUMBER) RETURN NUMBER
2 IS
3 n1_tmp NUMBER := trunc(n1);
4 n2_tmp NUMBER := trunc(n2);
5 BEGIN
6 RETURN n1_tmp + n2_tmp - bitand(n1_tmp, n2_tmp)*2;
7 END;
8 /
[@more@]
示例:
select bitxor(6,13) from dual;
BITXOR(6,13)
------------
11
select bitor(6,13) from dual;
BITOR(6,13)
-----------
15
select bitand(6,13) from dual;
BITAND(6,9)
-----------
4
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/197458/viewspace-1052517/
,如需转载,请注明出处,否则将追究法律责任。