MySQL 转换为十进制不能按预期工作

标签 mysql sql decimal

这个查询:

SELECT CAST(30.123456789012345 AS DECIMAL(16,16))

返回 0.9999999999999999

除非我完全弄错了,否则它应该返回 30.1234567890123450

谁能解释一下这是怎么回事?

谢谢!

最佳答案

您需要 DECIMAL(18,16)

16,16 为小数点右侧的值保留所有 16 位可用精度。

关于MySQL 转换为十进制不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998012/

相关文章:

php - 如何连接 mysql 数据库中嵌套表值的值

java - servlet netbeans mysql 连接

sql - 如何在windows上安装pgAgent服务

sql - 在 WHERE 子句中应用条件过滤

java - 如何检查 double 变量在 Java 中是否有两位以上的小数?

python - python 上的 MySQL 查询中的转义引号

mysql - 列的排序依据和限制

mysql - 如何优化查询以删除重复的 mySQL?

perl - 如何修复此 Perl 代码,使 1.1 + 2.2 == 3.3?

php - Mongodb PHP - 带小数的整数