MySQL选择两列之间的范围日期

时间:2013-11-11 21:55:48

标签: php mysql date select

我有下表(日期),其中列的日期格式是定义的。

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

如何使它成为可能?

3 个答案:

答案 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,否则脚本将永远运行。