我的客户给了我一个电子商务项目来修复一些错误。早期的愚蠢开发人员在 products 表中给出了价格字段 VARCHAR 数据类型而不是非常明显的 INTEGER,因此下一组开发人员为了根据价格范围进行搜索工作使用CAST(PRICE AS DECIMAL)
。现在,我是第三个从事此工作的人,并发现它这种 CAST AS DECIMAL 的东西并不奇怪只适用于 0-500 的价格范围,但适用于所有其他价格范围,如 500-1000、1000-2000 等等.
查询类似于:
到目前为止的查询是:
SELECT * FROM tbl_product where status=1 and subcat_id='128' and
price>'0' and price<='500' ORDER BY CAST(price AS DECIMAL(12,2)) ASC
这是以某种方式搜索价格为1000及以上的产品..请帮助..