DECIMAL lưu giá trị số chính xác. Cú pháp: DECIMAL(TongSoChuSo, SoChuSoSauDauPhay).
Ví dụ
mysql> CREATE TABLE EmployeeInformation (
-> EmpId INT AUTO_INCREMENT PRIMARY KEY,
-> EmpName VARCHAR(200),
-> EmpSalary DECIMAL(6,2)
-> );
Query OK, 0 rows affected (0.54 sec)
DECIMAL(6,2): tổng 6 chữ số, 2 chữ số sau dấu phẩy → max 9999.99.
Chèn giá trị vượt quá
mysql> INSERT INTO EmployeeInformation(EmpName,EmpSalary) VALUES('John',6999999.50);
ERROR 1264 (22003): Out of range value for column 'EmpSalary' at row 1
Chèn giá trị hợp lệ
mysql> INSERT INTO EmployeeInformation(EmpName,EmpSalary) VALUES('John',6999.50);
Query OK, 1 row affected, 1 warning (0.15 sec)
mysql> INSERT INTO EmployeeInformation(EmpName,EmpSalary) VALUES('John',69999.50);
Query OK, 1 row affected, 1 warning (0.20 sec)
mysql> SELECT * FROM EmployeeInformation;
+-------+---------+-----------+ | EmpId | EmpName | EmpSalary | +-------+---------+-----------+ | 1 | John | 7000.00 | | 2 | John | 70000.00 | +-------+---------+-----------+ 2 rows in set (0.00 sec)
Lưu ý: MySQL làm tròn (rounding) khi chèn 6999.50 → 7000.00 (vì chỉ 4 chữ số phần nguyên, còn 69999.50 → 70000.00).