我在MySQL中有一个包含数据的表,
Week No. Month Year
1 April 2016
4 April 2016
我需要查找特定周的星期一日期。
答案 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;