Nicht, dass dieses Thema meine geistigen Kompetenzen überschreiten würde, aber ich nutze schon hin und wieder auch gerne mal die Möglichkeit des Copy&Paste...
Der Code ist geschrieben zur Verwendung im Aqua Data Studio wird aber wohl auch unter SQL*Plus funktionieren. Hierfür müssten nur die Zeilen mit dem "GO" entfernt werden.
CREATE OR REPLACE FUNCTION <NAME>.BITOR (
p_dec1 NUMBER,
p_dec2 NUMBER)
RETURN NUMBERIS
BEGIN
RETURN p_dec1-BITAND(p_dec1,p_dec2)+p_dec2;
END;
GO
CREATE OR REPLACE FUNCTION <NAME>.BITXOR (
p_dec1 NUMBER,
p_dec2 NUMBER)
RETURN NUMBERIS
BEGIN RETURN BITOR(p_dec1,p_dec2)-BITAND(p_dec1,p_dec2);
-- or you could use: RETURN p_dec1-2*BITAND(p_dec1,p_dec2)+p_dec2;
END;
GO