有什么理由在 MySQL 中使用 DOUBLE(n, 0) 而不是 BIGINT(n) 吗?如果数据永远不会有小数部分,是否有任何理由存储为 DOUBLE?
在 MySQL 中使用DOUBLE
或 的原因只有一个FLOAT
——如果规模和/或存储效率很重要,但精度不是。这不是 MySQL 的限制,而是一般浮点数的限制,即它们存储为近似值。
整数将被干净地存储到只有大约 2?³,它小于BIGINT
. 大多数(尽管不是全部)超出该范围的整数将存储为仅接近正确的值。
浮点数有时会引起混淆,因为它们是近似值而不是存储为精确值。SQL 语句中写入的浮点值可能与内部表示的值不同。尝试在比较中将浮点值视为精确值可能会导致问题。它们还受制于平台或实现依赖性。
— 浮点值问题
对于整数,请使用其中一种*INT
类型。对于十进制,使用DECIMAL
.
归档时间: |
|
查看次数: |
4168 次 |
最近记录: |