如何用逗号存储整数数据?

时间:2019-02-12 06:43:18

标签: mysql

我在用逗号存储整数数据时遇到一些困难,我有价格,大约是4,600,所以我需要用逗号存储它,但是当我尝试以整数形式发送它时,它会在第一个数字后切掉。我试图更改列类型。 packages.configBigInt,但不起作用。有任何可行的方法吗?

还尝试将逗号更改为点“。”但是有了这个,mysql最后删除了“ 0” ...我不知道为什么...

Double

3 个答案:

答案 0 :(得分:1)

如果您希望能够使用带有这些数字的SQL查询进行计算,则需要使用DECIMAL类型或整数类型存储价格并将数字乘以例如1000,然后保存。

数字的双精度或任何其他浮点表示形式不适用于价格计算/存储。

如果使用DECIMAL,则需要将数字从本地格式4,5000转换为数据库将其存储在数据库中时期望的格式,并在检索时将其转换回本地格式您的数据。

如果将其存储为字符串,则可以保留本地格式,但这是最糟糕的解决方案,永远不要使用。

答案 1 :(得分:0)

由于您使用逗号,因此MySQL最有可能将数字解释为两个字段,以逗号分隔。例如:

Prices,Unspecified
------,-----------
4     ,500
2     ,300
1     ,500

在有问题的数字中:如果逗号是千位分隔符,请在尝试存储数字之前将其删除(通过字符串替换)。如果它是小数点,则将其替换为句点(通过字符串替换),并将其存储为DOUBLE(或DECIMAL,如果您需要大数字的高精度)。

如果要用逗号显示数字,请从以下位置检索值后,使用字符串格式(String.format()sprintf()以外的数字格式功能)数据库。

答案 2 :(得分:0)

您不能执行此操作,因为4,500绝对不是整数。而是一个字符串。您应该将列类型更改为varchar(10),并可能在检索时进行转换(剥离,,然后转换/转换为Int)。