需要在 MySQL 中获取去年四月和明年三月之间的日期

Need to get dates between last April and next March in MySQL

仅在 MySQL 中,我需要获取 last Aprilnext March 的日期。

这在 PHP 中很容易,因为 DateTime 函数实际上允许您输入 last April,它会给您一个日期。

我想 select 记录日期介于 01-04-2021 和 31-03-2022 之间的日期 – 但是,当 2022 年 4 月 1 日到来时,我需要它自动更改为2022 年 1 月 4 日和 2023 年 3 月 31 日。

一种方法可能是

SELECT  .....
WHERE somedate BETWEEN 
    CONCAT(IF(MONTH( CURDATE() ) < 4, YEAR( CURDATE() ) - 1, YEAR( CURDATE() )), '-04-01') 
    AND
    CONCAT(IF(MONTH( CURDATE() ) < 4, YEAR( CURDATE() ), YEAR( CURDATE() )+1), '-03-31');