生成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);
相關文章
- ORACLE表生成MYSQL建表DDLOracleMySql
- MySQL學習記錄--生成時間日期資料MySql
- MySQL入門--表維護MySql
- mysql表結構自動生成golang structMySqlGolangStruct
- mysql查詢表中日期最大的那條資料MySql
- oracle批量生成日期字尾的表儲存過程程式碼Oracle儲存過程
- MySQL運維7-Mycat水平分表MySql運維
- MySQL 獲取當前日期及日期格式MySql
- MySQL運維8-Mycat範圍分表MySql運維
- 日期函式以及常見的日期表達函式
- Mysql日期常用語句MySql
- Mysql日期查詢listMySql
- MySQL binlog日期解析MySql
- mysql 日期轉換字串MySql字串
- mysql 日期格式化MySql
- 在 PHP 中生成日期陣列PHP陣列
- 通過實體類生成 mysql 的建表語句MySql
- Mysql分庫分表的主鍵生成演算法MySql演算法
- excel自動生成連續日期 excel怎麼設定日期遞增Excel
- mysql日期函式總結MySql函式
- MySQL年齡日期問題MySql
- MYSQL事件使用 日期函式MySql事件函式
- jquery生成二維碼jQuery
- 二維碼線上生成
- MySQL訂單分庫分表多維度查詢MySql
- Mysql 日期格式化 複雜日期區間查詢MySql
- Oracle按固定次數遞迴生成日期Oracle遞迴
- MySQL日期時間函式大全MySql函式
- mysql中時間日期格式化MySql
- MySQL 日期時間函式大全MySql函式
- MySql中時間和日期函式MySql函式
- Mysql中日期計算函式MySql函式
- MySQL運維9-Mycat分庫分表之列舉分片MySql運維
- 二維碼管理平臺 生成二維碼
- Tp框架 生成二維碼框架
- ios--二維碼生成iOS
- 二維碼生成工具類
- 二維碼生成-PythonPython