【问题标题】:Putting precentage in MySQL database将百分比放入 MySQL 数据库
【发布时间】:2013-11-20 02:12:20
【问题描述】:
我有一些代码可以将 .csv 文件中的条目添加到 MySQL 数据库。我想知道使用什么数据类型将 .csv 文件中的百分比添加到 MySQL 表中的百分比列。
我尝试了十进制(虽然我知道那是错误的。),我得到了这个错误。
java.sql.BatchUpdateException: Incorrect decimal value: '8%' for column 'Percentage' at row 1
【问题讨论】:
标签:
java
mysql
sql
percentage
sqldatatypes
【解决方案1】:
如果您想像80% 一样存储,那么数据类型应该是varchar,或者如果您只想输入80.11,那么数据类型就是您正在使用的十进制。
我建议您保持数据类型原样(十进制),因为在从数据库中检索后,如果您需要一些计算,那么这对您来说将是额外的负担。
如果它是 varchar,那么在检索它时,您必须将其保留在 java 中的字符串中。然后您必须删除 % 然后转换为浮点数然后计算。
【解决方案2】:
十进制可以,但您只需存储一个值 8 而不是 '8%',这需要是一个 varchar(字符串)。
【解决方案3】:
如果您可以选择,我建议您将其存储为小数(删除百分比字符),然后在从数据库中检索数字后格式化数字以用百分比符号显示。在这种情况下,您仍然可以将其用作十进制数据类型,否则您必须使用基于字符串的数据类型,例如 varchar。