Câu hỏi Loại MySQL nào phù hợp nhất với cột “giá”?


tôi có một price cột trong products bàn.

Tôi tự hỏi loại MySQL nào là phù hợp nhất cho cột này. Là nó DECIMAL, FLOAThoặc cái gì khác?

Giá có thể là ví dụ: 139.99, 40, 14.5 (2 chữ số sau dấu thập phân, như trong cửa hàng).

Xin cho biết.


48
2017-12-09 10:41


gốc




Các câu trả lời:


DECIMAL beacuse decimal value được lưu trữ chính xác. Ví dụ. DECIMAL (10, 2) sẽ phù hợp hoàn hảo với giá không cao hơn 99999999,99. Tham khảo Tài liệu MySQL


83
2017-12-09 10:52



Mặc dù số thập phân phù hợp hơn, số nguyên sẽ hoạt động tốt hơn. Chỉ nhân số tiền với 100 và lưu trữ giá trị bằng xu. - twicejr
những gì về lớn hơn số của bạn? - hakiko
Tôi sử dụng DECIMAL (10, 2): 123,33.00 và định dạng number_format (giá $, 0, '.', ',') Hiển thị 123,33 trên chỉnh sửa biểu mẫu và lưu dữ liệu thứ hai chỉ 123. - Dung Vu


Kiểu trường "Thập phân" sẽ hoạt động tốt nhất. Như:

`product_price` decimal(8, 2) NOT NULL,

Nó sẽ lưu trữ một giá lên đến 999999.99

Nếu bạn có giá cao thì bạn có thể sử dụng

`product_price` decimal(12, 2) NOT NULL,

tức là tối đa 9999999999.99


14
2018-02-14 07:31





DECIMAL là lựa chọn tốt nhất. Bạn sẽ cần chỉ định độ chính xác và tỷ lệ cho cột. Độ chính xác xác định tổng số chữ số mà số đó sẽ chứa và tỷ lệ có nghĩa là số lượng các chữ số được sử dụng trong số mũ.


10
2017-12-09 10:49



Cảm ơn nhiều ! - Misha Moroshko


Bạn chắc chắn nên sử dụng một loại thập phân cho tiền. Không bao giờ nổi điểm, trái với câu trả lời khác. Và sử dụng varchar ngăn cản bạn thực hiện các phép tính.


5
2017-12-09 10:48