返回忽略SQL查询中设置年限的所有数据

时间:2012-07-13 06:26:02

标签: php mysql sqlbuilder

我编写了以下查询以返回员工已经采取的所有叶子。

它应该做什么是返回当前年份的值而忽略其余的值。

它正在做什么是它返回表中的所有值,包括与前几年有关的值。

$sqlBuilder = new SQLQBuilder();

    $arrFields[0] = '`leave_date`';
    $arrFields[1] = '`leave_status`';

    $arrTable = "`leave_table`";

    $selectConditions[1] = "`employee_id` = '".$employeeId."'";
    $selectConditions[2] = "`leave_date` >= '".date('Y')."-01-01'";

    $query = $sqlBuilder->simpleSelect($arrTable, $arrFields, $selectConditions, $arrFields[0], 'ASC');

    $dbConnection = new DMLFunctions();

    $result = $dbConnection -> executeQuery($query);

    $leaveArr = $this->_buildObjArr($result);

    return $leaveArr;

有谁能弄清楚我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

这很简单

$selectConditions[2] = "year(`leave_date`) = year(now())";

答案 1 :(得分:0)

使用此

where 
    leave_date>=current_date()-interval dayofyear(current_date())-1 day and
    leave_date<current_date()-interval dayofyear(current_date())-1 day+interval 1 year