Bitweise Exklusiv-Oder in Oracle
-
03-07-2019 - |
Frage
In SQL Server Ich habe das ^
Symbol wurde verwendet, jedoch nicht zur Arbeit in scheint Oracle .
Wie mache ich eine bitweise exklusive OR
in Oracle?
Lösung
Aus der Dokumentation:
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;
Um zu sehen, dass diese Arbeit, folgt der Logik mit nur 0 und 1 für die Eingabe, und dann nicht, dass es keine borrow oder Karies.
- MarkusQ
Andere Tipps
Es ist der BITAND Betreiber:
select bitand(49,54)+0 from dual;
Sie können die anderen Betreiber aufbauen von ihm; und hier .
Es gibt keine einfache Art und Weise.
Sie können String HEX
Werte in RAW
Werte gegossen und verwenden UTL_RAW
:
SELECT UTL_RAW.bit_xor(HEXTORAW(TO_CHAR(1, 'FMX')), HEXTORAW(TO_CHAR(2, 'FMX')))
FROM dual
---
03
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow