关于根据天数获取下一个日期:根据天数获取下一个日期 – mysql

Get next date based on the day number – mysql

我是 mysql 新手,我想写一个查询,我在其中传递日期编号,它给我下一个日期在即将到来的/当前周。

示例:

  • 如果今天是星期一(2018 年 1 月 1 日)并且我通过了 5,那么我想要星期五(2018 年 1 月 5 日)。
  • 如果今天是星期五(2018 年 1 月 5 日)并且我通过了 1,那么我想要星期一(2018 年 1 月 8 日)。
  • 我已经编写了一个基本查询,但我无法使其通用。

    查询:

    1
    select date_add(now(), interval dayofweek(now()) + (6 @day_num)  day);


    试试(可以进一步优化,但先看看能不能用):

    1
    2
    3
    4
    5
    SELECT
      CASE WHEN WEEKDAY(CURDATE()) + 1 >= @day_num
           THEN (CURDATE() + INTERVAL (6 WEEKDAY(CURDATE())) DAY) + INTERVAL @day_num DAY
           ELSE (CURDATE() + INTERVAL (0 WEEKDAY(CURDATE())) DAY) + INTERVAL (@day_num1) DAY
      END AS next_date;


    原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/271020.html

    (0)
    上一篇 2022年7月2日 23:44
    下一篇 2022年7月2日 23:53

    相关推荐

    发表回复

    登录后才能评论