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

Loại tiền điện tử MySQL Datatypes?

Có một lựa chọn rõ ràng tốt nhất trong số ba lựa chọn bạn đã đề xuất (cộng với một lựa chọn từ các nhận xét).

BIGINT - chỉ sử dụng 8 byte, nhưng BIGINT lớn nhất chỉ có 19 chữ số thập phân; nếu bạn chia cho 10, giá trị lớn nhất mà bạn có thể đại diện là 9,22, không đủ phạm vi.

NHÂN ĐÔI - chỉ có độ chính xác từ 15–17 chữ số thập phân; có tất cả các nhược điểm đã biết của số học dấu phẩy động.

VARCHAR - sẽ sử dụng 20+ byte nếu bạn đang xử lý 18 chữ số thập phân; sẽ yêu cầu chuyển đổi string↔int liên tục; không thể được sắp xếp; không thể so sánh được; không thể được thêm vào trong DB; nhiều nhược điểm.

DECIMAL (27,18) - nếu sử dụng MySQL, điều này sẽ mất 12 byte ( 4 cho mỗi nhóm 9 chữ số ). Đây là một kích thước lưu trữ khá hợp lý và có đủ phạm vi để hỗ trợ số lượng lớn như một tỷ hoặc nhỏ như một Wei. Nó có thể được sắp xếp, so sánh, thêm, bớt, v.v. trong cơ sở dữ liệu mà không làm mất độ chính xác.

Tôi sẽ sử dụng DECIMAL(27,18) (hoặc DECIMAL(36,18) nếu bạn cần lưu trữ các giá trị thực sự lớn) để lưu trữ các giá trị tiền điện tử.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo tập lệnh đăng nhập an toàn trong PHP và MySQL mà không cần HTTPS

  2. MySQL GIẢI THÍCH:Sử dụng chỉ mục so với sử dụng điều kiện chỉ mục

  3. Cập nhật hai hàng khác nhau trong một dòng SQL

  4. php - chuyển đổi từ định dạng json này sang định dạng json khác

  5. MySql nhận xét cho các cột của một dạng xem?