我在为我的价格选择正确的数字数据时遇到问题,因为我的国家/地区货币不使用浮点数。
示例:以我的国家/地区货币,我们不使用此- 12700.58-
example of our price: 127,000 (which is hundred twenty seven thousand)
对我们来说。
那么哪个sql数据类型...应该使用?
由于
答案 0 :(得分:2)
首先FLOAT/DOUBLE
是非精确数据类型,因此您应该避免使用它。最好使用DECIMAL/NUMERIC
,因为它们是准确的数据类型。
在你的例子中(只有整数)我会用简单的INT
来存储价格:
CREATE TABLE tab(price INT UNSIGNED);
INSERT INTO tab VALUES (120000), (10);
千位分隔符127,000
的值只是表示问题,应该在应用程序层中完成。如果您仍需要在数据库使用中格式化它:
SELECT FORMAT(price,0) AS formatted_price
FROM tab;
的 SqlFiddleDemo
强>