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

Kiểu dữ liệu tốt nhất cho lưu tiền tệ trong MySQL?


Dùng DECIMAL(TongSoChuSo, SoChuSoSauDauPhay) để lưu giá trị tiền tệ chính xác (không sai số làm tròn như FLOAT/DOUBLE).

Ví dụ: 345.66

  • Tổng 5 chữ số (34566)
  • 2 chữ số sau dấu phẩy (66)
  • → DECIMAL(5,2)

Tạo bảng

mysql> CREATE TABLE MoneyRepresentation (Money DECIMAL(5,2));
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO MoneyRepresentation VALUES(345.66);
Query OK, 1 row affected (0.13 sec)
mysql> SELECT * FROM MoneyRepresentation;
+--------+
| Money  |
+--------+
| 345.66 |
+--------+
1 row in set (0.00 sec)

Lưu ý: Không dùng FLOAT/DOUBLE cho tiền tệ do lỗi làm tròn binary floating point. DECIMAL lưu chính xác thập phân.