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

Nên lưu giá PRICE kiểu INT, FLOAT hay DECIMAL trong database?

Không nên dùng INT hoặc FLOAT cho trường PRICE. Nên dùng DECIMAL().

Số nguyên thường dùng biểu diễn số thực và nội bộ được cast thành DECIMAL. Với giá tiền, luôn dùng DECIMAL.

Cú pháp: DECIMAL(M,D) với M = tổng chữ số, D = chữ số sau dấu phẩy.

Demo: Tạo bảng Decimal_Demo với PRICE DECIMAL(18,2).

mysql> create table Decimal_Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> PRICE DECIMAL(18,2), -> PRIMARY KEY(Id) -> );

Chèn giá trị lớn:

mysql> insert into Decimal_Demo(PRICE) values(99999999999999.99); mysql> insert into Decimal_Demo(PRICE) values(10000000000000.99);

Kết quả lưu chính xác không mất độ chính xác như FLOAT.