mysql - 无法对浮点值实现 WHERE 子句

标签 mysql floating-point where-clause

我的表中有一个 4.3 浮点值。

发送该请求时:

SELECT * FROM mytable WHERE floatfield = 4.3

返回空结果。

即使在尝试时;

SELECT * FROM mytable WHERE floatfield = '4.3'

问题是什么?

最佳答案

Floating-point does not have infinite precision4.3 无法用有限数量的二进制数字精确表示。

关于mysql - 无法对浮点值实现 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5921584/

相关文章:

c++ - Arduino snprintf 在使用 float 时返回一个包含问号的字符串

c - 我的浮点代码或 gcc 中有错误吗?

mysql - SQL 语法要求 FROM 作为 SELECT 语句的一部分

php - 计算产品过滤器中每个项目的产品数量

mysql - MySQL 中何时使用单引号、双引号和反引号

java - 如何使用 Java 将 float 转换为 int

MySQL Where 子句 - 获取两个城市,其中 1. 行的 ID < 2. 行的 ID

php - 查询。如果列 = 特定值,则返回所有

mysql - 在子查询 where 子句中引用列

php - php中的mysql查询具有来自两个表的更多条件