/*将报告期逗号分隔解析存放临时表中*/ -- '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;*/