MySQL中的星期几

时间:2016-05-31 13:32:20

标签: mysql

我在MySQL中有一个包含数据的表,

Week No.  Month   Year
   1      April   2016
   4      April   2016

我需要查找特定周的星期一日期。

1 个答案:

答案 0 :(得分:0)

我认为这应该可以解决问题,也许你应该调整y参数的类型。

DELIMITER $$
CREATE FUNCTION `calc_date`(y TEXT, m TEXT, w INT)
 RETURNS date
BEGIN
  DECLARE d DATE;
  SET d = DATE_ADD(STR_TO_DATE(CONCAT(CONCAT(CONCAT(y,'-'),m),'-01'), '%Y-%M-%d'), INTERVAL w week);
  RETURN DATE_SUB(d, INTERVAL (DAYOFWEEK(d) + 5)%7 DAY);
end;
$$
DELIMITER ;

然后你只需要打电话

select calc_date(`Year`,`Month`,`Week No.`) from yourtable;