osqa mysql MySQL 生成 時間軸

2021-10-18 19:15:12 字數 4140 閱讀 8442

drop procedure if exists pro_dim_date;

tudou@gyyx

create procedure pro_dim_date(in bdate date,in edate date)

begin

declare var date default bdate;

declare evar date default date_add(edate,interval 1 day);

declare bweek date;

declare eweek date;

while var

set bweek = date_add(date_sub(var,interval 1 week),interval 1 day);

set eweek = date_sub(date_add(var,interval 1 week),interval 1 day);

insert into gyyx_report.dim_date

`date_id`,

`date_name`,

`date_of_month`,

`year_id`,

`year_name`,

`quarter_id`,

`quarter_name`,

`month_id`,

`month_name`,

`month_of_year_name`,

`month_of_year_id`,

`week_id`,

`week_name`,

`week_of_year_id`,

`week_of_year_name`,

`is_weekend`

values

date_format(var,'%y%m%d'),

date_format(var,'%y-%m-%d'),

dayofmonth(var),

year(var),

concat(year(var),'年'),

quarter(var),

concat(quarter(var),'季度'),

date_format(var,'%y%m'),

concat(year(var),'年',month(var),'月'),

concat(month(var),'月'),

month(var),

weekday(var),

case weekday(var) when 0 then '星期一' when 1 then '星期二' when 2 then '星期三' when 3 then '星期四' when 4 then '星期五' when 5 then '星期六' when 6 then '星期日' end,

weekofyear(var),

concat('第',weekofyear(var),'周(',month(bweek),'月',day(bweek),'日~',month(eweek),'月',day(eweek),'日'),

case when weekday(var)>4 then '是' else '否' end

set var=date_add(var,interval 1 day);

end while;

end呼叫:

call pro_dim_date('2005-01-01','2013-12-31')

結果201312172013-12-171720132023年44季度2013122023年12月12月121星期二51第51周(12月11日~12月23日否

201312182013-12-181820132023年44季度2013122023年12月12月122星期三51第51周(12月12日~12月24日否

201312192013-12-191920132023年44季度2013122023年12月12月123星期四51第51周(12月13日~12月25日否

201312202013-12-202020132023年44季度2013122023年12月12月124星期五51第51周(12月14日~12月26日否

201312212013-12-212120132023年44季度2013122023年12月12月125星期六51第51周(12月15日~12月27日是

201312222013-12-222220132023年44季度2013122023年12月12月126星期日51第51周(12月16日~12月28日是

201312232013-12-232320132023年44季度2013122023年12月12月120星期一52第52周(12月17日~12月29日否

201312242013-12-242420132023年44季度2013122023年12月12月121星期二52第52周(12月18日~12月30日否

201312252013-12-252520132023年44季度2013122023年12月12月122星期三52第52周(12月19日~12月31日否

201312262013-12-262620132023年44季度2013122023年12月12月123星期四52第52周(12月20日~1月1日否

201312272013-12-272720132023年44季度2013122023年12月12月124星期五52第52周(12月21日~1月2日否

201312282013-12-282820132023年44季度2013122023年12月12月125星期六52第52周(12月22日~1月3日是

201312292013-12-292920132023年44季度2013122023年12月12月126星期日52第52周(12月23日~1月4日是

表結構:

create table `dim_date` (

`date_id` int(11) not null comment '20110512',

`date_name` varchar(16) default null comment '2011-05-12',

`date_of_month` int(11) default null comment '12',

`year_id` int(11) default null comment '2011',

`year_name` varchar(16) default null comment '2023年',

`quarter_id` int(11) default null comment '2',

`quarter_name` varchar(16) default null comment '2季度',

`month_id` int(11) default null comment '5',

`month_name` varchar(16) default null comment '5月',

`month_of_year_name` varchar(16) default null comment '2023年5月',

`month_of_year_id` int(11) default null comment '201105',

`week_id` int(11) default null,

`week_name` varchar(16) default null,

`week_of_year_id` int(11) default null,

`week_of_year_name` varchar(32) default null,

`is_weekend` enum('否','是') default null comment '是否週末',

primary key (`date_id`),

key `ix_dim_date_date_name` (`date_name`),

key `ix_dim_date_month_id` (`month_id`),

key `ix_dim_date_year_id` (`year_id`),

key `ix_dim_date_quanter_id` (`quarter_id`),

key `ix_dim_date_week_of_year_id` (`week_of_year_id`,`week_of_year_name`)

) engine=myisam default charset=latin1

分享到:

2012-03-14 18:07

瀏覽 656

君生我未生,我生君已老

君生我未生,我生君已老。君恨我生遲,我恨君生早。恨不生同時,日日與君好。我生君未生,君生我已老。我離君天涯,君隔我海角。我生君未生,君生我已老。化蝶去尋花,夜夜棲芳草。我不知道我是以何種感情把這詩看下去的。只是在看的時候想起你,然後莫名流淚。故事還要從那個炎熱的五月說起,從那個充滿紙醉金迷的上海說起...

君生我未生 我生君已老

你在歡笑,體會童年的快樂的時候,我還沒出現,準確的說,我爸和我媽剛好上 你拿著課本認真學習的時候,我剛剛來到這個世界上,剛剛學會啼哭.看見你曾經的舊照,覺得我們的時代感拉遠了不少,也就幾年而已,感覺你比我多過了幾個世紀。嘴角上揚的時候,是你最帥的樣子,我忍不住想多看你幾眼,又害怕被你發現,又害怕別人...

既生 Redis 何生 LevelDB ?

了解 redis 的同學都知道它是乙個純記憶體的資料庫,憑藉優秀的併發和易用性打下了網際網路項的半壁江山。redis 之所以高效能是因為它的純記憶體訪問特性,而這也成了它致命的弱點 記憶體的成本太高。所以在絕大多數場合,它比較適合用來做快取,長期不被訪問的冷資料被淘汰掉,只有熱的資料快取在記憶體中,...