如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型

Posted

技术标签:

【中文标题】如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型【英文标题】:How to define the [float] data type in mysql version (6.0.11-alpha-community) 【发布时间】:2021-09-25 11:40:50 【问题描述】:

当我插入一个数字 1234567.1234567 时,它会将其转换为 1234567.1250。 如何才能保存正确的号码?

【问题讨论】:

那是一个充满bug的alpha版本,根本没有teste,你为什么用它? 我的队友说使用这个mysql版本(6.0.11-alpha-community)。你能建议我哪个mysql版本最适合工作环境吗? alpha 版本是供开发人员实现新功能的内部版本,当他们公开它时,它用于针对新功能测试您的代码,但 mysql 8 现在已经有一段时间了,所以请改用它 我确定我这样做了,在这个版本中,是否可以在之前和之后更改像这样 (1234567.1234567) 最大 7.7 值的浮点值。 (点)如果是的话建议我 没有浮点数、双精度数和十进制数都可以做到这一点。在这里你可以测试dbfiddle.uk/… 【参考方案1】:

当我插入一个数字为 1234567.1234567 时,它会将其转换为 1234567.1250

FLOATs 保存在四个字节中,允许大约 232 个不同的值。 1234567.1234567 不是其中之一。可编码值都是有限整数乘以 2 的幂。

最接近的可编码值为 1234567.125 或 9876537*2-3

代码可以使用DOUBLE,但存在类似问题。 最接近的大约是 1234567.1234567000065...,对于 OP 的目的来说可能已经足够接近了。

【讨论】:

以上是关于如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 phpMyAdmin 中将 MySQL 版本升级到最新版本?

第39问:如何编译 MySQL 的调试版本

如何在 Windows 10 上安装不同版本的 MySQL?

如何在centos安装mysql时自主选择版本

如何在 MySQL 数据库中存储版本号

关于如何查看mysql版本及其端口号