網頁

2018/12/17

Oracle XOR,OR bitwise operator 位元運算

在Oracle中,只有AND的位元運算函式BITAND(x, y),不過卻沒有ORXOR的位元運算函式,因此若要做ORXOR的位元運算,則可利用下面的做法。

OR位元運算

(x + y) - BITAND(x, y);

XOR位元運算

(x + y) - BITAND(x, y)*2;

例如

SELECT 
  BITAND(3, 2) AS "AND", 
  (3 + 2) - BITAND(3,2) AS "OR", 
  (3 + 2) - BITAND(3,2)*2 AS "XOR" 
FROM DUAL;

查詢結果為

+-----+----+-----+
| AND | OR | XOR |
+-----+----+-----+
|   2 |  3 |   1 |
+-----+----+-----+

參考:

沒有留言:

張貼留言