我正在尝试根据日本财政年度开始(即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;
答案 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;