日本会计年度的 MySQL 日期计算

标签 mysql

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

相关文章:

mysql - SQL 多对多 JSON

MySQL 查询 WHERE 子句字符串比较在应返回结果时未返回结果

mysql - 如何在MYSQL中查询具有相同时间戳的记录?

mysql:如何从两个表中选择

MySQL 按最多评论排序

java - Hibernate缓存和MySql查询缓存

mysql - 逗号分隔值分隔

python - 如何在 Django 的表中列出变长元组?

mysql - Apache和MySQL windows服务的使用

MySQL:根据值在表中查找最大连续行