1

我在浮点数据类型的表“url_key_weight”中有一个字段。在一条记录中,我在浮点字段中的值为 2.95。当我从 PHP 代码中检索并打印它时,它会打印 2.9500000476837。但是当我从 PHP 运行以下查询时

"SELECT * FROM url_key_weight WHERE bid = 2.95"

或者

"SELECT * FROM url_key_weight WHERE bid = 2.9500000476837"

我什么都得不到。

4

2 回答 2

1

要进行直接比较,您必须四舍五入

SELECT * FROM url_key_weight WHERE ROUND(bid, 2) = 2.95

在此处阅读更多相关信息。

于 2013-07-08T08:38:19.417 回答
0
it is not generally a good idea to compare floating point numbers with = equals operator.

试试这个

"SELECT * FROM url_key_weight WHERE bid >= 2.95"
于 2013-07-08T08:18:21.043 回答