在 SQL Server 中,我一直使用^
符号,但这似乎不适用于 Oracle 。
如何在Oracle中执行按位独占OR
?
答案 0 :(得分:7)
来自文档:
function bitor(p1 number, p2 number) return number is
begin
return p1-bitand(p1,p2)+p2;
end;
function bitxor(p1 number, p2 number) return number is
begin
return bitor(p1,p2)-bitand(p1,p2);
end;
要看到这些工作,请按照0s和1s的逻辑进行输入,然后不要说没有借用或龋齿。
- MarkusQ
答案 1 :(得分:5)
答案 2 :(得分:2)
没有简单的方法。
您可以将字符串HEX
值转换为RAW
值并使用UTL_RAW
:
SELECT UTL_RAW.bit_xor(HEXTORAW(TO_CHAR(1, 'FMX')), HEXTORAW(TO_CHAR(2, 'FMX')))
FROM dual
---
03