Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lưu trữ số tiền (money) trong MySQL: dùng DECIMAL

Không dùng FLOAT/DOUBLE cho tiền tệ do lỗi làm tròn nhị phân (binary floating-point).

Dùng DECIMAL(precision, scale) hoặc NUMERIC (tương đương).

  • precision: tổng số chữ số.
  • scale: số chữ số sau dấu phẩy.

Ví dụ: DECIMAL(10,2) lưu đến 99,999,999.99 chính xác.

Demo:

CREATE TABLE MoneyStorageDemo (Amount DECIMAL(4,2));
INSERT INTO MoneyStorageDemo VALUES (50.2), (5.50), (10.4);
SELECT * FROM MoneyStorageDemo;
+--------+
| Amount |
+--------+
| 50.20  |
| 5.50   |
| 10.40  |
+--------+

Luôn dùng DECIMAL cho tiền, giá, tỷ lệ, đo lường chính xác.