一年Interval mysql条件

时间:2012-08-28 21:40:13

标签: mysql

您好我正在尝试写一个1年间隔的案例陈述,在这种情况下,年份从4月开始到次年3月结束,但是如果例如今年的3月进入那么它将是结束去年由于事实,这一年将从去年四月开始

查看sqlfiddle here

这是我到目前为止的代码,请注意

sum(case 
        when Month(py.pay_date) = 4 interval())1 year
        then amount end) yearly_amount

这是我遇到重大问题的地方

1 个答案:

答案 0 :(得分:4)

您可以将此用于当前年度的yearly_amount计算(从4月开始到明年3月底结束):

sum(case 
        when py.pay_date >= STR_TO_DATE(CONCAT(YEAR(NOW()), '-04-01'), '%Y-%m-%d') and
             py.pay_date <  STR_TO_DATE(CONCAT(YEAR(NOW()), '-04-01'), '%Y-%m-%d') + interval 1 year
             then amount
        end) yearly_amount

SQLFiddle Demo