我有一个小的 mysql 表(MySQL 版本 5.6.23):
+-----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| dividends | float(8,6) | YES | | NULL | |
+-----------+-----------------+------+-----+---------+----------------+
我的 where 子句遵循行子查询 http://dev.mysql.com/doc/refman/5.6/en/row-subqueries.html syntax.
如果我做:
SELECT id, dividends FROM test
where (id,dividends) >= (660,0.5);
or
SELECT id, dividends FROM test
where (id,dividends) >= (660,CAST(0.5 AS DECIMAL(8,6)));
我得到这个结果:
+-----+-----------+
| id | dividends |
+-----+-----------+
| 660 | 0.500000 |
| 661 | 0.470000 |
| 662 | 0.470000 |
| 663 | 0.470000 |
| 664 | 2.580000 |
| 665 | 2.581000 |
...
在我看来,股息 >= 0.5 没有被考虑在内。为什么?