2016-05-31 18 views
-1

I Tabelle haben in MySQL, die wie Daten enthalten,Datum der Woche in MySQL

Week No. Month Year 
    1  April 2016 
    4  April 2016 

Ich brauche für die jeweilige Woche Datum von Montag zu finden.

+1

Haben Sie Termine Tisch? – sagi

+4

Wie definieren Sie "Woche Nein"? – eggyal

+0

Bitte sagen Sie uns, was Sie bereits versucht haben und was nicht funktioniert –

Antwort

0

Ich denke, das sollte den Trick machen, vielleicht sollten Sie den Typ des y-Parameters anpassen müssen.

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 ; 

dann müssen Sie nur noch rufen

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