有没有办法只能在两个日期之间获取数据集?

时间:2015-02-12 17:00:01

标签: php mysql sql database select

我想知道是否有办法只在两个日期之间获取数据集(具体时间示例:下午5点到下午6点之间)。我必须做一个Select,它只应该在下午5点到6点之间返回数据集。有没有办法让你轻松做到这一点?

编辑:这是SQL代码:

Select fahrten_id, StartOrt, Zielort, abfahrt FROM fahrten WHERE ' + $von + ' <= abfahrt AND abfahrt <= ' + $bis + '

&#34; abfahrt&#34;是应该检查的日期。

EDIT2:

<?php
header('Content-type: application/json');
$server = "---";
$username = "---";
$password = "---";
$database = "---";
$von = $_POST["von"];
$bis = $_POST["bis"];
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
     $sql = "Select fahrten_id, StartOrt, Zielort, abfahrt FROM fahrten WHERE '$von' <= abfahrt AND abfahrt <= '$bis'";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());
$records = array();

while($row = mysql_fetch_assoc($result)) {
    $records[] = $row;
}
mysql_free_result($result);
mysql_close($con);
echo $_GET['jsoncallback'] . '(' . json_encode($_POST) . ');';
?>

以下是代码中的PHP,我只删除了pw和用户名以及servername

1 个答案:

答案 0 :(得分:0)

您可以轻松地从日期字段中提取小时。然后将结果限制为您想要的小时数。

where Hour( DateField ) >= 17 and Hour( DateField ) < 18

这将通过时间字段为&#34; 17:00:00.00000&#34;到&#34; 18:59:59.99999&#34; (或者到目前为止)。如果您想要包含结果,请更改比较:

where Hour( DateField ) between 17 and 18

这将包括完全&#34; 18:00:00.00000&#34;的时间。 (可能会发生!)