En SQL Server He estado usando el símbolo ^
, sin embargo, que no parece bit a bit para trabajar en Oracle.O exclusivo en Oracle
¿Cómo puedo hacer una oferta exclusiva de bit a bit OR
en Oracle?
En SQL Server He estado usando el símbolo ^
, sin embargo, que no parece bit a bit para trabajar en Oracle.O exclusivo en Oracle
¿Cómo puedo hacer una oferta exclusiva de bit a bit OR
en Oracle?
A partir de los documentos:
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;
ver que estos trabajos, sigue la lógica con sólo 0s y 1s para entrada, y luego no es que no hay préstamos o caries.
- MarkusQ
No, el artículo se describe cómo crea un UDF para BIT_OR, no es una expresión estándar. – Quassnoi
De acuerdo ... Gracias –
No es el operador BITAND:
select bitand(49,54)+0 from dual;
Puede build up the other operators de ella; y here.
Creo que ya no necesita el +0 para engañar a la base de datos. – orbfish
No hay una manera fácil.
Puedes lanzar cadena HEX
valores en RAW
valores y utilizar UTL_RAW
:
SELECT UTL_RAW.bit_xor(HEXTORAW(TO_CHAR(1, 'FMX')), HEXTORAW(TO_CHAR(2, 'FMX')))
FROM dual
---
03
xor = p1-2 * bitand (p1, p2) + p2 – Akvel