MySQL Decimal不返回结果

时间:2015-09-16 19:47:00

标签: php mysql

表格

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'

运行此查询会返回零结果。如果你运行&#34; WHERE&#34;声明没有其他,返回结果。为什么会这样?

1 个答案:

答案 0 :(得分:1)

您的条件表达式是向后的。试试这个:

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;