SQL日期函数 - 月份的第一个日期直到当前日期

时间:2015-12-13 11:11:15

标签: mysql sql

我有以下功能,从当前日期提取上个月网站的统计数据。我需要在下面的代码中进行更改,以使其能够获取统计数据,例如从2015年11月1日到现在每月一次,其余时间间隔(3米,6米和1年)相同。

protected function duration($params) {
    if($params->get('stats_duration')=='last_month') {
        return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 1 MONTH)'; 
    } elseif($params->get('stats_duration')=='three_months') {
        return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 3 MONTH)';
    } elseif($params->get('stats_duration')=='six_months') {
        return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 6 MONTH)';
    } elseif($params->get('stats_duration')=='twelve_months') {
        return 'AND datum_ura >= DATE_ADD(CURDATE(), INTERVAL - 1 YEAR)';
    } elseif($params->get('stats_duration')=='all') {
        return '';
    }  
}

1 个答案:

答案 0 :(得分:0)

假设使用MySQL。

对于当月,您可以使用以下条件:

AND datum_ura >= DATE_FORMAT(NOW(), '%Y-%m-01')

过去3个月,只需将其扩展为:

AND datum_ura >= DATE_FORMAT(NOW() - INTERVAL 2 MONTH, '%Y-%m-01')