2011-01-06 161 views
4

我想知道是否有方法在MySQL 4.1+中查询我的记录中日期范围之间的特定日期?日期之间的MySQL日期

对于一个简单的例子,我有两个记录,日期时间范围,像

ID | Activity | Start Date   | End Date 

1  Closed  1/1/11 11:00:00  1/4/11 11:00:00 

2  Open   1/15/11 10:00:00  1/19/11 09:00:00 

我想知道的是,有没有办法,我可以得到“开始日期”和“结束的日期日期“为每个这些记录?像这样:

11年1月2日,11年1月3日

而且

11年1月16日,11年1月17日,11年1月18日

或者在至少有一种方法可以接近并使用PHP来完成剩下的工作?谢谢!

+0

还有第二个teable? – Diablo 2011-01-06 22:33:24

+0

你想和日期做什么?在它们之间获取记录,或仅在开始和结束之间记录日期? – 2011-01-06 22:40:33

回答

0

约旦,

这不是与MySQL 4.直接可能的,我觉得这个逻辑不应该把你的数据库层。

然而,有关StackOverflow的问题涉及到你的问题,解决方案是一个存储过程(但你需要MySQL 5)。在这里查看:Get a list of dates between two dates

我发现了一个没有准备好使用,但明智的做法,在PHP中你的问题在这个网页: http://prajapatinilesh.wordpress.com/2009/05/07/get-all-dates-between-two-dates-using-php-code/

希望这可以帮助您在正确的方向。

1

这可能唯一您的问题:

SELECT * FROM `your_table` WHERE start_date > '2011-01-01' AND end_date < '2011-01-04' 
0

我已经在我自己的mysql查询中实现了这一点。

SELECT id FROM table WHERE some_date BETWEEN start_date AND end_date