我有下表(日期),其中列的日期格式是定义的。
id Column1 Column2
1 [2013-07-12 12:00:00] [2013-07-14 12:00:00]
我想提取这样的范围(column1和column2之间的日期):
2013-07-12 12:00:00
2013-07-13 12:00:00
2013-07-14 12:00:00
如何使它成为可能?
答案 0 :(得分:3)
试试这个:
SELECT * FROM DateTable
WHERE DATEDIFF('2013-07-14',dateFROM)>=0
AND DATEDIFF('2013-07-14', dateTO) <= 0
查看我的SQLFiddle Demo
答案 1 :(得分:0)
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
也许做一个选择*,两列之间的日期是否小于或等于你的预期范围?
答案 2 :(得分:0)
这是PHP脚本,它将从表中返回两个日期,每天分开,然后将那一天放入数组中。然后可以从阵列内部轻松访问日期。
<?php
$date_1 = date("Y-m-d g:i:s", strtotime('2013-06-27 12:00:00'));
$date_2 = date("Y-m-d g:i:s", strtotime('2013-07-03 12:00:00'));
$results = array($date_1);
$i = $date_1;
while ($i <= $date_2) {
$i = date("Y-m-d g:i:s", strtotime("+1 day", strtotime($i)));
array_push($results, $i);
echo $i;
}
print_r($results);
?>
$date_1
和$date_2
将是从表格返回的值。确保将最早的日期分配给$date_1
,否则脚本将永远运行。