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

Chèn số thập phân (DECIMAL) vào MySQL

Kiểu dữ liệu DECIMAL trong MySQL: Lưu trữ số thập phân chính xác

DECIMAL(M,D) lưu số chính xác với M chữ số tổng cộng, D chữ số sau dấu phẩy. Phù hợp cho tiền tệ, đo lường.

Cú pháp

tenCot DECIMAL(TongSoChuSo, SoChuSoSauDauPhay);

Ví dụ: DECIMAL(4,2)

Tối đa 4 chữ số, 2 chữ số sau dấu phẩy → phạm vi -99.99 đến 99.99.

CREATE TABLE DecimalInsert (
    Id INT,
    Name VARCHAR(100),
    Amount DECIMAL(4,2)
);

Chèn dữ liệu:

INSERT INTO DecimalInsert VALUES (1, 'John', 12.4);    -- thành 12.40
INSERT INTO DecimalInsert VALUES (2, 'Carol', 12.34);  -- 12.34
INSERT INTO DecimalInsert VALUES (3, 'Mike', 1.424);   -- CẢNH BÁO: cắt thành 1.42

Kết quả

+------+-------+--------+
| Id   | Name  | Amount |
+------+-------+--------+
|    1 | John  |  12.40 |
|    2 | Carol |  12.34 |
|    3 | Mike  |   1.42 |
+------+-------+--------+

Lưu ý quan trọng

  • Không dùng FLOAT/DOUBLE cho tiền tệ (lỗi làm tròn nhị phân).
  • DECIMAL lưu trữ chính xác (fixed-point).
  • Vượt quá phạm vi → lỗi (Out of range) hoặc cắt bớt tùy sql_mode.
  • MySQL 8.0: DECIMAL(65,30) max precision.

Kiểm tra cảnh báo

SHOW WARNINGS;

Sau INSERT Mike (1.424) sẽ thấy: Data truncated for column 'Amount'.