0

这是我正在使用的查询:

SELECT * FROM inventory WHERE status='live' and price<='50' ORDER BY id DESC;

它显示了 50 美元以下的所有物品。但它也显示了所有超过 100 美元的物品?我猜这个问题与这些价格是三位数有关。另一件要提的是,价格还包括价格后的 0.00。

任何指针?

4

2 回答 2

1

我认为问题在于您有 50 个引号。MySql 可能将其视为字符串。

... AND price <= 50 ORDER BY ....
于 2013-03-13T19:37:21.150 回答
0

如果价格列数据类型是“CHAR”(字符串),“100”和“49999”都是 <=“50”。将一种或两种数据类型(列和比较)更改为 DECIMAL(10,2) 或另一种数字类型。

于 2013-03-13T19:39:09.933 回答