mysql> desc persondb;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name | varchar(25) | YES | | NULL | |
| lname | varchar(25) | YES | | NULL | |
| mydate | datetime | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from persondb;
+------------+--------+---------------------+
| name | lname | mydate |
+------------+--------+---------------------+
| vishwanath | dalvi | 2011-08-21 14:50:37 |
| ishwar | dalvi | 2011-08-21 14:50:58 |
| ganesh | kamble | 2011-08-31 14:50:37 |
+------------+--------+---------------------+
3 rows in set (0.00 sec)
mysql> select name,mydate from persondb
-> where date_sub(now(),INTERVAL 5 DAY)<=mydate;
+------------+---------------------+
| name | mydate |
+------------+---------------------+
| vishwanath | 2011-08-21 14:50:37 |
| ishwar | 2011-08-21 14:50:58 |
| ganesh | 2011-08-31 14:50:37 |
+------------+---------------------+
3 rows in set (0.00 sec)
Я использую следующий запрос для получения записей, которые соответствуют интервалу последних 5 дней, но он показывает запись будущей даты, которая является ganesh | 2011-08-31 14:50:37
mysql> select name,mydate from persondb
-> where date_sub(now(),INTERVAL 5 DAY)<=mydate;
Кто-нибудь может сказать мне причину этого?