根据天数获取下一个日期-MySQL

时间:2018-11-05 19:49:02

标签: mysql

我是mysql的新手,我想写一个查询,我将日期编号传递给它,它给了我下一个/当前星期的下一个日期。

示例:

  1. 如果今天是星期一(2018年1月1日)并且我输了5,那么我想星期五(2018年1月5日)。
  2. 如果今天是星期五(2018年1月5日),并且我传递1,那么我想星期一(2018年1月8日)。

我已经写了一个基本查询,但是无法使其通用。

查询:

m1 = data['Produced'] == 0
m2 = (data[['Lost', 'Output', 'Signal']] != 0).all(1)

res = data[m1 & m2]

1 个答案:

答案 0 :(得分:1)

尝试(可以进一步优化,但首先可以检查它是否有效):

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_num-1) DAY
  END AS next_date;