Cuối cùng tôi đã tìm ra cách để làm điều đó. Giả sử N
là một giá trị của loại NUMBER
và bạn cần phải mô phỏng bằng cách nào đó một lần tràn số nguyên có dấu 32 bit, sau đó:
N := MOD(N, 4294967296);
IF N > 2147483647
THEN
N := N - 4294967296;
ELSIF N < -2147483648
THEN
N := N + 4294967296;
END IF;