MySQL circulation date

DROP PROCEDURE IF EXISTS `insertManyDate`$$

CREATE DEFINER=`root`@`%` PROCEDURE `insertManyDate`(IN `beginDate` DATE,IN `endDate` DATE)
BEGIN 
DECLARE nowdate DATE DEFAULT NOW();
DECLARE endtmp DATE DEFAULT NOW();
SET nowdate = DATE_FORMAT(beginDate,'%Y%m%d');
SET endtmp = DATE_FORMAT(endDate,'%Y%m%d');
WHILE nowdate<endtmp 
DO
INSERT INTO dibao_day_loop(ymd) VALUES(nowdate);
SET nowdate = DATE_ADD(nowdate,INTERVAL 1 DAY);
END WHILE;
END$$

DELIMITER ;

 

Insert consecutive days to the date range specified in the table.

Invocation:

call insertManyDate(STR_TO_DATE('2019-06-12','%Y-%m-%d'),STR_TO_DATE('2019-12-19','%Y-%m-%d'))

 

Guess you like

Origin www.cnblogs.com/digdeep/p/12063837.html