Finalmente encontrei uma maneira de fazer isso. Digamos
N
é um valor do tipo NUMBER
, e você precisa simular de alguma forma um estouro de inteiro com sinal de 32 bits, então:N := MOD(N, 4294967296);
IF N > 2147483647
THEN
N := N - 4294967296;
ELSIF N < -2147483648
THEN
N := N + 4294967296;
END IF;