在Oracle中,只有AND
的位元運算函式BITAND(x, y)
,不過卻沒有OR
及XOR
的位元運算函式,因此若要做OR
及XOR
的位元運算,則可利用下面的做法。
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 |
+-----+----+-----+
參考:
沒有留言:
張貼留言