背景:我们有时会进行历史数据处理,但是处理起来很麻烦却很简单(只需要更改日期)。我们可以利用存储过程进行数据处理。
核心思想是固定SQL形式,变化日期进行不同日期数据获取。通过rnx的变化得到的NextDate就是一个变化的日期。
CREATE DEFINER=`root`@`localhost` PROCEDURE `guanjia`()
BEGIN
#Routine body goes here...
-- DECLARE BeginDate varchar(255);
DECLARE NextDate varchar(255);
DECLARE EndDate varchar(255);
DECLARE rnx INT DEFAULT 0;
-- SET BeginDate='2022-04-01';
SET EndDate='2022-04-30';
SET NextDate='2022-04-01';
WHILE NextDate<EndDate DO
SELECT DATE_ADD(BeginDate,INTERVAL rnx DAY) INTO NextDate FROM DUAL;
###############
# 插入需要进行更换日期的SQL
###############
SET rnx=rnx+1;
-- SELECT NextDate;
END WHILE;
END