mysql - 尾随零不进入数据库

标签 mysql database

所以这是我的问题,我们正在尝试将定价放入我们的数据库中,但由于某种原因它将 10.00 转换为 10 或 10.50 转换为 10.5,它只是将尾随的零砍掉....

我检查了 SQL 语句,它说 price=10.00 ....所以我真的很困惑为什么/在哪里剥离 .00

我一直检查我们输入数字的位置到插入或更新的最后一步,它一直保留尾随零,直到更新或插入,然后当您检查表时...零被丢弃

最佳答案

您是否使用 decimal(N,2) 类型或类似类型来存储数据?如果不是,那么这是正常行为。见http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

请不要遵循另一个答案中的建议,将其留给您的表示层。正确完成工作并存储精确的十进制值。这样就可以避免舍入问题。

ps 还有一个单独的问题,即在您使用的任何语言中如何管理值。希望它使用包含适当格式的特殊类型。如果不是,那么您可能需要担心如何处理代码中的值(一种可能是乘以 100 并使用整数美分,但是您需要注意数学正确舍入 - 这很复杂,但它之所以复杂是有原因的;如果你只是把所有东西都塞进 double ,它可能会很简单,但对于某些值会有一些奇怪的错误......)

关于mysql - 尾随零不进入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028688/

相关文章:

mysql - 获取记录不超过发布后 7 天

mysql - sql - 连接 2 个表 10 次

sql - MySQL查询以逗号分隔的字符串查找值

MySql、选择、左连接、分组依据、限制..以及我必须在哪里下订单?

php - 如何发布到具有一对多关系的多个数据库表

php - MYSQL 插入更新 - 重复键更新 - 出现错误

添加行时要记录的 MySQL 列

mysql - DB 关系(对于任何 ORM 都很优雅)

php - 如何使用 PHP INSERT 将数组存储到 mysql 并使用相同的 id 变量值

python - 使用 Python 快速迭代大数据?