Mysql 从年和周数中获取日期间隔

Mysql get date interval from year and weekNumber

我有一个 table,其中包含字段 yearweek_numberstock_count。在给定 start_dateend_date 的给定日期范围内,我将如何获取所有行?

如果你的table没有date字段,你就不能使用start/end_date。 => 这将是“正常”选项。

在你的情况下,(我想这就是你想要的),你只能从 start/end_date 中提取 yearweek,然后才 运行查询。

SELECT WEEK('2020-05-18'); 将 return 对应于该日期的那一周

SELECT YEAR('2020-08-28'); 将从您的日期中提取年份

然后你可以运行你的查询基于yearweek

我希望它有意义...

下面的例子假设 start_date2020-02-28 并且 end_date2021-01-31:

SELECT *
FROM `your_table_name`
WHERE (
        `year` > YEAR('2020-02-28') OR 
        (`year` = YEAR('2020-02-28') AND `week_number` >= WEEK('2020-02-28'))
    ) AND (
        `year` < YEAR('2021-01-31') OR 
        (`year` = YEAR('2021-01-31') AND `week_number` <= WEEK('2021-01-31'))
    )