当我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;
它表示它返回一个空集但显然在表中,CurrentF列中有一行数字为67.9
答案 0 :(得分:1)
从tempF中选择*,其中CurrentF = '67 .9'; 肯定会工作..
答案 1 :(得分:1)
刚从另一个StackOverflow帖子中看出来:
mysql float data not selecting in where clause
以下是我看到的最佳答案:
今天,我也遇到了同样的情况,并得到了解决 使用MySQL的FORMAT函数,它将返回结果 与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);