日本财政年度的MySQL日期计算

时间:2018-01-05 01:20:23

标签: mysql

我正在尝试根据日本财政年度开始(即4月1日)获得一组结果(当然可以设置为不同的日期)。但下面的代码返回2017年@fiscalYear,从未返回2018.我是否声明/管理变量错误?请指教。

SET @currentMonth = MONTH(CURDATE());

IF @currentMonth < 4 THEN SET @fiscalYear = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR));
ELSEIF @currentMonth > 3 THEN SET @fiscalYear = YEAR(CURDATE());
END IF;

SET @fiscalYearStart = CONCAT(@fiscalYear, '-04-01');

SELECT @currentMonth, @fiscalYear, @fiscalYearStart;

1 个答案:

答案 0 :(得分:0)

当你设置@fiscalYear ...

时,看起来你做错了什么
SET @currentMonth = MONTH(CURDATE());

SET @fiscalYear = YEAR(DATE_SUB(CURDATE(), INTERVAL IF(@currentMonth > 3, 0, 1) YEAR));

SET @fiscalYearStart = CONCAT(@fiscalYear, '-04-01');

SELECT @currentMonth, @fiscalYear, @fiscalYearStart;