如何在2个日期之间选择数据

时间:2015-10-26 09:42:35

标签: php

我有任务列表。

我通常使用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    

4 个答案:

答案 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()