我正在尝试选择所有未通过当前日期的日期。例如,我想显示2009-10-06之后的每个日期,而不是2009-10-06之前的日期。
答案 0 :(得分:4)
如果我正确理解了这个问题,那么这样的事情呢?
select *
from your_table
where your_date_field > '2009-10-06'
正如@James Deville所说,你可以使用一些函数来获取当前日期,而不是在查询中对其进行硬编码。
NOW()
会为您提供日期+时间; CURDATE()
(或其别名CURRENT_DATE()
和CURRENT_DATE
)将为您提供日期:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-10-06 19:35:36 |
+---------------------+
1 row in set (0.03 sec)
mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2009-10-06 |
+------------+
1 row in set (0.01 sec)
所以,在你的情况下,这样的事情应该做:
select *
from your_table
where your_date_field > curdate()