Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để mô phỏng tràn số nguyên có dấu 32-bit trong PL / SQL?

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cố gắng xuất mã nguồn java từ cơ sở dữ liệu Oracle

  2. Oracle tự động chèn bản ghi trong khối multirecord phần 2

  3. Bỏ bảng trong Oracle SQL

  4. Kiểm tra các ngày trùng lặp trên bất kỳ hàng nào của bảng Oracle SQL

  5. Chế độ chờ kém