创建表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) ;
执行结果:
完成。