mysql 优化,去掉重复代码

    /*将报告期逗号分隔解析存放临时表中*/
-- '2007-06-30,2000-06-30'
    set v_ReportDate = trim(v_ReportDate);
  set v_ReportDate = CONCAT(v_ReportDate, ',');   -- 在v_ReportDate后面加一个逗号,就可以去掉后面的重复代码
    set i = instr(v_ReportDate,',');
    WHILE i>=1 DO
        set dt = left(v_ReportDate,i-1);
        set dts = concat(year(dt),'-',month(dt)-2,'-01');
        set dtd = concat(year(dt),'-01-01');
        insert into stk_finment_tmpdate values (dt, DATE_ADD(dt,INTERVAL 1 year), dts, date_add(dts,interval 1 year), dtd, date_add(dtd,interval 1 year));
        set v_ReportDate = SUBSTRING(v_ReportDate, i+1); 
        set i = instr(v_ReportDate,',');
    END WHILE;
    /*IF(v_ReportDate != ',') then
        set dt = v_ReportDate;
        set dts = concat(year(dt),'-',month(dt)-2,'-01');
        set dtd = concat(year(dt),'-01-01');
        insert into stk_finment_tmpdate values (dt, DATE_ADD(dt,INTERVAL 1 year), dts, date_add(dts,interval 1 year), dtd, date_add(dtd,interval 1 year));
    end IF;*/
原文地址:https://www.cnblogs.com/suiyuemanbu/p/2908606.html