码迷,mamicode.com
首页 > 数据库 > 详细

Mysql时间维度表

时间:2017-04-14 10:50:32      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:mysql时间维度表

1、建一张表test_date用来日期的自增长,里面只放一列  ID,写一个存储,插入顺序数字

BEGIN
#Routine body goes here...

declare id int;
set id=1;
while id<=6000 do
insert into test_date
values(id);
set id=id+1;
end while;
END

2. 建立时间维度表,插入记录

SET @d0 = "2000-01-01";
SET @d1 = "2020-12-31"; 
SET @str = "Q"; 
SET @date = date_sub(@d0, interval 1 day);

INSERT INTO dim_time
SELECT @date := date_add(@date, interval 1 day),    
  year(@date),
  month(@date),
  DAYOFYEAR(@date),
  day(@date) as d,
  weekday(@date)+1 as wd,
  week(@date, 3) as w,
  dayname(@date) as wd_name,
  monthname(@date) as m_name, 
  quarter(@date) as q,
  CONCAT(@str,quarter(@date)) as qq,
  DAYOFMONTH(last_day(@date)),
  date_format(@date, "%Y%m%d"),    
  date_format(@date, ‘%d-%m-%Y‘)as yw
FROM test_date
WHERE date_add(@date, interval 1 day) <= @d1
ORDER BY id;


Mysql时间维度表

标签:mysql时间维度表

原文地址:http://zm0700.blog.51cto.com/4435103/1915589

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!