2016-05-31 52 views
-1

我的表在MySQL中包含類似數據,日當週在MySQL

Week No. Month Year 
    1  April 2016 
    4  April 2016 

我需要找到週一的日當週。

+1

你有日期表? – sagi

+4

你如何定義「周無」? – eggyal

+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; 
相關問題