生成mysql日期維表
CREATE TABLE `dim_day` (
`DAY_ID` varchar(10) NOT NULL,
`DAY_SHORT_DESC` varchar(14) DEFAULT NULL,
`DAY_LONG_DESC` varchar(100) DEFAULT NULL,
`WEEK_ID` varchar(100) DEFAULT NULL,
`WEEK_LONG_DESC` varchar(100) DEFAULT NULL,
`MONTH_ID` varchar(100) DEFAULT NULL,
`MONTH_SHORT_DESC` varchar(100) DEFAULT NULL,
`MONTH_LONG_DESC` varchar(100) DEFAULT NULL,
`QUARTER_ID` varchar(100) DEFAULT NULL,
`QUARTER_LONG_DESC` varchar(100) DEFAULT NULL,
`YEAR_ID` varchar(100) DEFAULT NULL,
`YEAR_LONG_DESC` varchar(100) DEFAULT NULL,
PRIMARY KEY (`DAY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
drop procedure if exists f_dim_day;
create procedure f_dim_day(in start_date VARCHAR(20),in date_count int)
begin
declare i int;
set i=0;
DELETE from dim_day;
while i < date_count do
INSERT into dim_day
(DAY_ID,DAY_SHORT_DESC,DAY_LONG_DESC,WEEK_ID,WEEK_LONG_DESC,MONTH_ID,MONTH_SHORT_DESC,MONTH_LONG_DESC,QUARTER_ID,QUARTER_LONG_DESC,YEAR_ID,YEAR_LONG_DESC)
SELECT
REPLACE(start_date,'-','') DAY_ID,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y-%m-%d') DAY_SHORT_DESC,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y年%m月%d日') DAY_LONG_DESC,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y%u') WEEK_ID,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y年第%u周') WEEK_LONG_DESC,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y%m') MONTH_ID,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y-%m') MONTH_SHORT_DESC,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y年第%m月') MONTH_LONG_DESC,
CONCAT(DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y'),quarter(STR_TO_DATE( start_date,'%Y-%m-%d %H:%i:%s'))) QUARTER_ID,
CONCAT(DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y'),'年第',quarter(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s')),'季度') QUARTER_LONG_DESC,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y') YEAR_ID,
DATE_FORMAT(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),'%Y年') YEAR_LONG_DESC
from dual;
set i=i+1;
set start_date = DATE_FORMAT(date_add(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s'),interval 1 day),'%Y-%m-%d');
end while;
end;
call f_dim_day('2020-01-01',365);
相關文章
- MySQL入門--表維護MySql
- mysql查詢表中日期最大的那條資料MySql
- mysql表結構自動生成golang structMySqlGolangStruct
- MySQL運維7-Mycat水平分表MySql運維
- Mysql日期查詢listMySql
- Mysql日期常用語句MySql
- MySQL運維8-Mycat範圍分表MySql運維
- 在 PHP 中生成日期陣列PHP陣列
- mysql日期函式總結MySql函式
- MYSQL事件使用 日期函式MySql事件函式
- Mysql 日期格式化 複雜日期區間查詢MySql
- excel自動生成連續日期 excel怎麼設定日期遞增Excel
- 通過實體類生成 mysql 的建表語句MySql
- 二維碼生成
- sqlplus中利用spool生成帶日期的檔名SQL
- 二維碼生成-PythonPython
- 趣味二維碼生成
- MySQL 的日期和時間函式MySql函式
- MySQL時間戳轉成日期格式MySql時間戳
- mysql中格式化日期詳解MySql
- MySQL運維9-Mycat分庫分表之列舉分片MySql運維
- hive表中yyyymmdd格式日期校驗Hive
- MySQL 生成列索引MySql索引
- MySQL運維12-Mycat分庫分表之按天分片MySql運維
- SpringBoot使用JPA根據實體類自動生成相應表-mysqlSpring BootMySql
- 二維碼管理平臺 生成二維碼
- qrcodejs js生成二維碼JS
- 使用 Python 生成二維碼Python
- Tp框架 生成二維碼框架
- ios--二維碼生成iOS
- 二維碼線上生成
- 二維碼生成工具類
- mysql儲存日期使用什麼型別MySql型別
- MySQL日期和時間函式彙總MySql函式
- excel表結構生成powerDesigner模型,生成建表語句sqlExcel模型SQL
- mysql運維案例MySql運維
- Flutter - 生成二維碼與識別二維碼Flutter
- MySQL運維11-Mycat分庫分表之應用指定分片MySql運維