我需要在今天开始的过去60天做出选择。 例如:
select * from product
where product.expire_date = ?1 - 60
?1是今天日期的参数。
我不能让它发挥作用,我做错了什么?
我使用MySQL
答案 0 :(得分:1)
我认为这就是你想要的。
SELECT *
FROM product
WHERE product.expire_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 60 DAY) AND CURDATE()
请注意BETWEEN
包含在内。
注意,如果您的expire_date
是datetime
字段而不是date
字段,则可能需要稍微修改一下(即CONCAT()
适当的时间字符串关于BETWEEN
的RHS的引用,或者在DATE()
的LHS周围抛出BETWEEN
(但是那时你将不再使用expire_date
上的索引,假设那里是一个。
答案 1 :(得分:0)
看看这个:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-sub
获取更多帮助:日期为BETWEEN dateX和date_sub(dateX,60days)。我想你想要的是什么?