在sql / php中选择日期和日期(其他格式)之间的所有内容

时间:2011-09-26 20:20:39

标签: php sql

这是“日期”栏中的格式:

2011-08-03 13:36:19

我想做的是做一个SQL查询,它选择两个日期之间的所有委托。

我的两个日期来自一个日期选择器:

从2011-09-20到2011-09-25

现在我不能WHERE date BETWEEN '2011-09-20' AND '2011-09-25'

因为您可以在上面看到列日期中的时间。

那我怎么能这样做?我可以BETWEEN 2011-09-20 00:00:00 AND 2011-09-25 00:00:00吗?

3 个答案:

答案 0 :(得分:1)

如果你想要包括第25名,你必须去

BETWEEN '2011-09-20 00:00:00' AND '2011-09-25 23:59:59'

答案 1 :(得分:1)

你回答了自己的问题:零填补时间。这是有道理的,因为00:00:00是午夜,并且表示有一天切换到下一天的那一刻。

答案 2 :(得分:0)

这两个条件在逻辑上是等价的(尽管你的第二个条件有一个语法错误,因为你缺少单引号)。

您可能需要将时间添加到结束日期。您需要添加23:59:59来表示当天结束,以便包含当天的所有时间。

您可以通过附加结束日期字符串来实现此目的(假设它是来自输入名称为end_date的表单的POST数据)。

$end_date = $_POST['end_date'] . ' 23:59:59';

注意:不要忘记SQL Injection