从SQL Server数据库中提取日期

时间:2014-03-06 22:08:20

标签: sql sql-server datetime select echo

我无法在MSSQL数据库的用户选定范围内提取日期。我认为问题与我的select语句中的比较有关,因为我认为sql给日期一个特殊的格式,所以我无法将我的字符串sql变量与sql数据库中的日期变量进行比较。首先,我将向您展示我的代码PHP代码,然后是日期的屏幕截图。感谢您的帮助和帮助,非常感谢。

我打印出应该填充日期的数组,以便查看它是否正常工作。日期也从用户拉出mm / dd / yyyy。当我在2014年2月2日和2014年2月18日之间搜索时,我的echo语句打印出31。

//testing ranges
$testArray = array();
$startDate = $_POST['datepicker'];
$endDate = $_POST['datepicker2'];
$startDate = explode("/", $startDate);
$endDate = explode("/",$endDate);
$startDate = $startDate[2]."-".$startDate[0]."-".$startDate[1]." "."00:00:00.000";
$endDate = $endDate[2]."-".$endDate[0]."-".$endDate[1]." "."00:00:00.000";

$ifTest = "SELECT COUNT(*) AS testD FROM dbo.Response WHERE dbo.Response.response_date BETWEEN 
'".$startDate."' AND '".$endDate."'";
$db -> query($ifTest);
$x = $db->fetch();
$testArray[] = array('testDate' => $x['testD']);
foreach($testArray as $such)
{
    echo $such['testDate'];
}
//end ranges

SQL database

2 个答案:

答案 0 :(得分:0)

在您的选择中添加group by子句:

ifTest = "SELECT dbo.Response.response_date AS testD FROM dbo.Response WHERE dbo.Response.response_date BETWEEN 
'".$startDate."' AND '".$endDate."' GROUP BY dbo.Response.response_date";

答案 1 :(得分:0)

抱歉,一切正常。请忽略这个问题。