mysql没有为此查询返回正确的结果

时间:2017-09-29 11:37:11

标签: mysql

嗨我在名为products的表中有一列km(varchar),我们保存了km值,就像汽车行驶的数量一样。因此km可以是任何保存的数字。现在我想查询此列,就像我想要的结果,其中km从100到1000.

所以查询看起来像这个

SELECT * 
  FROM products1 
 WHERE categories_category_id = 1 
   AND subsubCategoryId = 1026 
   AND subcat = 174 
   AND categoryAdvertiseTypeId = 0 
   AND km >= 1000 
   AND km <= 5000 
 LIMIT 50

但正在发生的事情是我得到的公里不是这个范围。不知道为什么。请告诉我可能是什么问题。

1 个答案:

答案 0 :(得分:2)

将您的公里km列投射到一个数字,然后进行比较。

SELECT *
FROM products1
WHERE
    categories_category_id = '1'  AND
    subsubCategoryId = '1026'     AND
    subcat = '174'                AND
    categoryAdvertiseTypeId = '0' AND
    CAST(km AS UNSIGNED) BETWEEN 1000 AND 5000
LIMIT 50

在化妆品方面,我删除了所有那些不必要的反叛,这些反叛是丑陋的,使查询难以阅读。