【问题标题】:Fetch dates within the next 5 days from today, from a column of dates [duplicate]从日期列中获取从今天起未来 5 天内的日期 [重复]
【发布时间】:2021-11-02 04:12:19
【问题描述】:

我有一张包含去年日期的表格:

ID  start_date
1   2020-09-06 11:21:00
2   2020-10-12 01:43:00
3   2020-09-07 17:22:00
4   2020-11-23 04:23:00
5   2020-09-09 19:50:00

如果今天是2020-09-05

我需要获取 start_date +1 年在从今天起接下来的 5 天内的行。

从示例表中,期望的结果是:

1   2020-09-06 11:21:00 (Because 2020-09-06 +1 year = 2021-09-06 is in within 5 days from today)
3   2020-09-07 17:22:00 (Because 2020-09-07 +1 year = 2021-09-07 is in within 5 days from today)
5   2020-09-09 19:50:00 (Because 2020-09-09 +1 year = 2021-09-09 is in within 5 days from today)

我有这个问题:

SELECT ID, start_date 
FROM my_table 
WHERE 
DATE( "start_date +1 year" ) >= NOW()
AND
DATE( "start_date +1 year" ) <= NOW("+5 days")

但它不起作用。请帮忙。谢谢。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您可以使用 INTERVAL 来获取您需要的日期

    SELECT ID, `start_date`
    FROM my_table 
    WHERE 
    DATE(`start_date` + INTERVAL 1 YEAR)  >= CURDATE()
    AND
    DATE(`start_date` + INTERVAL 1 YEAR)  <= CURDATE() + INTERVAL 5 DAY
    
    身份证 |开始日期 -: | :----------------- 1 | 2020-09-06 11:21:00 3 | 2020-09-07 17:22:00 5 | 2020-09-09 19:50:00

    db小提琴here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多