这是我做Select * from tempF;
| Timestamp | CurrentF | RecordMinF | RecordMaxF |
+-----------+----------+------------+------------+
| 21:12:53 | 69.23 | NULL | NULL |
| 21:15:53 | 67.9 | NULL | NULL |
| 21:16:02 | 68.08 | NULL | NULL |
| 21:16:08 | 68.08 | NULL | NULL |
| 21:16:14 | 68.08 | NULL | NULL |
| 22:37:56 | 68.98 | NULL | NULL |
| 22:38:08 | 69.16 | NULL | NULL |
| 22:38:14 | 69.34 | NULL | NULL |
| 22:38:15 | 69.16 | NULL | NULL |
| 22:38:32 | 69.34 | NULL | NULL |
我正在从MSSQL切换到MySQL,所以也许我缺少一些东西。我要做的是:select * from tempF where CurrentF = 67.9;
它说它返回一个空集,但显然在表中有一个行中的一行,其中有数字67.9
从tempf中选择 * currentf = '67 .9';一定会工作..
刚从另一个stackoverflow帖子中弄清楚了这一点:
mysql float数据未在Where子句中选择
这是我看到的最好的答案:
今天,我也遇到了同样的情况,并得到解决 使用mySQL的格式函数,它将返回结果 完全匹配您的Where子句。
SELECT * FROM yourtable WHERE FORMAT(col,2) = FORMAT(value,2)
说明:
FORMAT('col name',precision of floating point number)
希望它有帮助。
要回答我的问题,我必须写这样的查询:
Select * from tempF where format(CurrentF,2) = format(67.9,2);