mysql - 浮点型和小数型数据类型的区别

标签 mysql

当我在 MySQL 中使用浮点型和小数型数据类型时,有什么区别?

我什么时候应该使用哪个?

最佳答案

This当我有这个疑问时,我发现了这一点。

mysql> create table numbers (a decimal(10,2), b float);
mysql> insert into numbers values (100, 100);
mysql> select @a := (a/3), @b := (b/3), @a * 3, @b * 3 from numbers \G
*************************** 1. row ***************************
  @a := (a/3): 33.333333333
  @b := (b/3): 33.333333333333
@a + @a + @a: 99.999999999000000000000000000000
@b + @b + @b: 100

小数点确实在这种情况下完成了应该做的事情,它 截断了其余部分,从而丢失了 1/3 部分。

因此,对于求和,小数更好,但对于除法, float 更好 当然,在某种程度上更好。我的意思是,使用 DECIMAL 不会给出 无论如何,你都是“失败证明算术”。

关于mysql - 浮点型和小数型数据类型的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57860097/

相关文章:

php - 获取特定时间范围内的数据库记录

php - 在 codeIgniter 查询中使用 mysql PASSWORD

mysql - 在 sequelize 中插入百万记录的最佳方法是什么

php - 使用 SQL 连接对同一个表的元素进行排序

mysql - 带 COUNT 的 LEFT JOIN 返回意外值

mysql - Mysql 中的 Unix 时间日期

python - 如何停止 scrapy 蜘蛛但处理所有想要的项目?

php - 使用 phinx 迁移库在非主键列上自动递增

java - 在 Android 中添加到外部数据库

mysql - 如果来自另一个表,如何填充(与其他表连接)空值?