我正在尝试根据日本财政年度的开始日期(即 4 月 1 日)获取一组结果(当然可以设置为不同的日期)。但下面的代码为 @fiscalYear 返回 2017 年,而不是 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;
最佳答案
您在设置@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;
关于日本会计年度的 MySQL 日期计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48105911/