这个查询:
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/