-2
我有两个mysql查询,但获得不同的结果两个查询,虽然第一个查询似乎是给更多的结果。Mysql查询差异
MySQL [mydb1]> select count(*) from user_id where
create_time>='2017-07-28' and create_time<='2017-07-31';
+----------+
| count(*) |
+----------+
| 65150086 |
+----------+
MySQL [mydb1]> select count(*) from user_id where
create_time>='2017-07-28 16:30:00' and create_time<='2017-07-31 14:30:00';
+----------+
| count(*) |
+----------+
| 79679998 |
+----------+
+----------------+-------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+-------------------+-----------------------------+
| id | bigint(11) | NO | PRI | NULL | auto_increment |
| user_id | varchar(45) | NO | UNI | NULL | |
| name | varchar(45) | YES | MUL | NULL | |
| create_time | datetime | YES | | NULL | |
| update_time | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+----------------+-------------+------+-----+-------------------+---------
请给出关于数据类型create_time列的更多信息 – starko
您对两个查询使用不同的日期时间范围。为什么你会期望他们返回相同的结果? –
@LordPeter我认为create_time <='2017-07-31'对2017-07-31全天做出了回应,但实际上它是<= 2017-07-31 00:00:00 –