我有任务列表。
我通常使用linux时间来设置日期,但这次我尝试了DATE类型。
如何选择targetDate在2天或更短时间内完成的所有任务?
我知道如何在SQL查询中执行此操作:
SELECT * FROM tasks
WHERE `targetDate` >= CURDATE()
AND `targetDate` < DATE_ADD(CURDATE(), INTERVAL 2 DAY)
我希望知道如何在PHP代码中执行此操作
id int(10)
title varchar(250) utf8_general_ci
text text utf8_general_ci
catID tinyint(3)
createUserID int(4)
createDate date
targetDate date
答案 0 :(得分:1)
SELECT * FROM tasks WHERE targetDate BETWEEN '2015-10-13' AND '2015-10-27'
OR
SELECT * FROM tasks WHERE DATE_FORMAT(targetDate,'%Y-%m-%d') BETWEEN '2015-10-13' AND '2015-10-27'
答案 1 :(得分:0)
SQL
中的日期类型为"YYYY-MM-DD"
格式。因此,在您的查询中,您必须让same format
获取所需的数据。
希望有所帮助..
答案 2 :(得分:0)
您可以将BETWEEN
CLAUSE与date_sub结合使用(now(),INTERVAL 2 DAY ) AND NOW( )
SELECT * FROM tasks
WHERE
targetDate BETWEEN date_sub( now( ) , INTERVAL 2 DAY ) AND NOW( )
答案 3 :(得分:0)
使用mysql CURDATE()
或INTERVAL
SELECT * FROM tasks
WHERE
targetDate BETWEEN (CURDATE() - INTERVAL 2 DAY ) and CURDATE()