在SQL中建立時間維度表

2021-10-11 21:17:52 字數 891 閱讀 6287

這是一道資料分析的筆試題:

用sql語句生成一張從2023年1月1日至今日的日期表。

同時也這是考察在sql中建立時間維度表。

這裡採用迴圈的方式:

先建立乙個**,只有日期字段,字段型別為date

create

table ab_date(

date

date

);

建立乙個procedure:

從2023年1月1日開始迴圈加1天,知道今天。

delimiter $$

create

procedure create_date (

)begin

declare indexdate date

;set indexdate=

date

("2020-01-01");

while indexdate <= curdate()do

insert

into ab_date(

date

)values

(indexdate)

;set indexdate = adddate(indexdate,1)

;end

while

;end

;

呼叫procedure

call create_date(

);

效果:

mysql 建立時間維度表

做系統設計以及涉及資料分析的時候,會涉及到各種期間維度的統計計算。可以按日期生成期間維度表,如下 1.按期間生成日期表 drop table if exists v day create table v day oc date varchar 20 default null 2.呼叫方法為輸入開始結...

建立時間維度表的儲存過程

在建立bi資料倉儲時,時常需要用到時間維度,通過儲存過程一次性批量生成,語句如下 create procedure dbo create time by day dimension add the parameters for the stored procedure here asbegin se...

SQL 在表中建立索引的作用

轉貼 索引的作用就在於,為某個字段建立了索引之後,查詢這個字段裡面的資料的時候,效率更高,也就是快,比如create index abc on stu age 為stu表的age欄位建立了索引,那麼查詢時,select from stu where age 10 這個時候效率就高,主要體現在wher...