当前位置:  开发笔记 > 后端 > 正文

SQL不准确的数字

如何解决《SQL不准确的数字》经验,为你挑选了1个好方法。

我有一些比特掩码(2^63)-1.但结果是不准确的.最后3个数字始终为0或替换为e18样式.

简单示例SQL:

SELECT
    POW(2,63), /* 9.223372036854776e18 */
    CAST(POW(2,63) AS DECIMAL(65)), /* 9223372036854776000 */
    (POW(2,63) - 1), /* 9.223372036854776e18 */
    CAST((POW(2,63) - 1) AS DECIMAL(65)) /* 9223372036854776000 */

cliffordheat.. 5

POW()返回一个"双精度"浮点数,它只有一个53位的尾数.您期望精度达到64位.请参阅http://dev.mysql.com/doc/refman/5.7/en/floating-point-types.html



1> cliffordheat..:

POW()返回一个"双精度"浮点数,它只有一个53位的尾数.您期望精度达到64位.请参阅http://dev.mysql.com/doc/refman/5.7/en/floating-point-types.html

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有