[英]MySQL Decimal not returning results
桌子:
mysql> describe tbl_affiliate_commissions;
+-------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+----------------+
| id | int(255) | NO | PRI | NULL | auto_increment |
| sale_minimum | decimal(10,2) | NO | | NULL | |
| sale_maximum | decimal(10,2) | NO | | NULL | |
| commission_amount | decimal(10,2) | NO | | NULL | |
+-------------------+---------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
价值观:
mysql> select * from tbl_affiliate_commissions;
+----+--------------+--------------+-------------------+
| id | sale_minimum | sale_maximum | commission_amount |
+----+--------------+--------------+-------------------+
| 1 | 0.00 | 99.99 | 5.00 |
| 2 | 100.00 | 249.99 | 10.00 |
| 3 | 250.00 | 499.99 | 20.00 |
| 4 | 500.00 | 749.99 | 35.00 |
| 5 | 750.00 | 999.99 | 50.00 |
| 6 | 1000.00 | 1999.99 | 75.00 |
| 7 | 2000.00 | 3999.99 | 100.00 |
| 8 | 4000.00 | 10000.00 | 300.00 |
+----+--------------+--------------+-------------------+
8 rows in set (0.00 sec)
询问:
SELECT * FROM `tbl_affiliate_commissions`
WHERE sale_minimum >= '359.80'
AND sale_maximum <= '359.80'
运行此查询返回零结果。 如果您在没有另一个的情况下运行“WHERE”语句,则会返回结果。 为什么会这样?
你的条件表达式是倒退的。 尝试这个:
SELECT *
FROM `tbl_affiliate_commissions`
WHERE sale_minimum <= 359.80 AND sale_maximum >= 359.80;
或者,尝试BETWEEN
:
SELECT *
FROM `tbl_affiliate_commissions`
WHERE 359.80 BETWEEN sale_minimum AND sale_maximum;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.