2017-09-27 97 views
0

我是MySQL的新手,我在MySQL過程中有一個日期變量,我試圖找到該日期變量的周開始日期。我的程序進入如下,MySQL過程日期變量操作

CREATE PROCEDURE my_proc (IN week_start_num INT, IN my_date DATE) 
BEGIN 
    DECLARE my_new_date DATE; 
    #I know what I'm trying here is wrong 
    SET my_new_date=startdate - (INTERVAL WEEKDAY(startdate ) - week_start_num + IF(WEEKDAY(startdate ) > week_start_num, 0, 7)) 

    #rest of my codes goes here 

END 

我知道這是不對的 'SET my_new_date = STARTDATE - (區間WEEKDAY(開始日期) - week_start_num + IF(WEEKDAY(開始日期)> week_start_num,0,7))',是什麼是完成它的正確方法?

回答

1

試試這個:

SET my_new_date = startdate 
        - INTERVAL 
        ( 
        WEEKDAY(startdate) 
        - week_start_num 
        + IF(WEEKDAY(startdate) > week_start_num, 0, 7) 
       ) 
        DAY;