我有一个select查询,可以检索3周大的所有条目。
我想知道是否有像where date> Expr (CURDATE () - 3 WEEKS)
这样的表达式,或者我是否必须首先计算我的php脚本中的差异。
我的日期格式为timestamp
,格式为:2010-06-21 16:59:59
此致
答案 0 :(得分:6)
您可以使用以下代码行
where date>DATE_SUB(curdate(),INTERVAL 3 WEEK);
答案 1 :(得分:4)
您可以像DATEDIFF()
一样使用WHERE DATEDIFF(CURDATE(), date) = 21
功能。
答案 2 :(得分:2)
使用时间戳的实际输入更好,
因为它允许查询缓存生效
不缓存包含非确定性函数的查询。这包括CURDATE(),RAND()或输出并不总是相同的任何其他函数。
来自文档: - http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html