如果您想存储喜欢 80%
那么数据类型应该是 varchar
或者,如果您只想放 80.11
然后,数据类型是您正在使用的十进制。
我建议您将数据类型保留为(十进制),因为从数据库中检索一些计算后,它将为您带来额外的负担。如果是varchar %
然后转换为浮点,然后计算。
题
我有一些代码,将.CSV文件从MySQL数据库添加条目。我想知道要使用哪些数据类型将.CSV文件添加到MySQL表中的百分比列中。我尝试了十进制(尽管我知道那是错误的。),我遇到了这个错误。
java.sql.BatchUpdateException: Incorrect decimal value: '8%' for column 'Percentage' at row 1
解决方案
如果您想存储喜欢 80%
那么数据类型应该是 varchar
或者,如果您只想放 80.11
然后,数据类型是您正在使用的十进制。
我建议您将数据类型保留为(十进制),因为从数据库中检索一些计算后,它将为您带来额外的负担。如果是varchar %
然后转换为浮点,然后计算。
其他提示
小数是可行的,但是您只需存储8个而不是“ 8%”的值,这需要是varchar(字符串)。
如果您有选项,我鼓励您将其存储为十进制(删除百分比字符),然后将数字格式化以在数据库中检索它后用百分比显示。在这种情况下,您仍然可以将其用作十进制数据类型,否则您必须使用基于字符串的数据类型,例如VARCHAR。