mysql中舍入浮点有什么问题?

9jyewag0  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(398)

实际上,我们希望在数据库中从float切换到decimal。当我们检查值时,如果一切都是正确的,我们发现mysql round有一个奇怪的行为,我们不知道为什么。

  1. Table name: test
  2. column name: test
  3. column type: float
  4. SQL: SELECT ROUND(test, 2) FROM test
  5. -----------------------------------------
  6. | test | result of round(test,2) |
  7. -----------------------------------------
  8. | 12.225 | 12.23 |
  9. -----------------------------------------
  10. | 12.125 | 12.12 |
  11. -----------------------------------------
yqkkidmi

yqkkidmi1#

参见文档说明。
对于转换,使用cast可能会获得更好的结果:

  1. SELECT CAST(test as decimal(10,2)) FROM test

相关问题