创建表dim_date:
create table `dim_date` (
`year` int (20),
`month` int (20),
`day` int (20),
`week` int (11),
`quarter` int (20),
`date_id` date
);
mysql中创建存储过程createDates 插入每一天的日期(我是从2015-10-01开始后的1000天,大概到2018年)
DELIMITER $$
CREATE
PROCEDURE `view`.`createDates`()
BEGIN
DECLARE num INT;
SET num=1;
WHILE num < 1000 DO
INSERT INTO dim_date(date_id) VALUES(DATE_ADD('2015-10-01',INTERVAL num DAY));
SET num=num+1;
END WHILE;
END$$
DELIMITER ;
调用存储过程:call createDates();
然后更新年、月、日、第几周、季度
UPDATE dim_date SET YEAR=YEAR(date_id),MONTH=MONTH(date_id),DAY=DAY(date_id),WEEK=WEEKOFYEAR(date_id),QUARTER=QUARTER(date_id) ;
执行结果:
完成。
转载于:https://www.cnblogs.com/kms1989/p/5498040.html