mysql 创建日历表
日历表包括: 日期,星期,季度,月份,第几周。
表的结构 以及存储过程如下;
- CREATE TABLE `dim_day` (
- `ID` int(11) NOT NULL AUTO_INCREMENT,
- `DAY_SHORT_DESC` datetime DEFAULT NULL,
- `DAY_LONG_DESC` varchar(50) DEFAULT NULL,
- `WEEK_DESC` varchar(20) DEFAULT NULL,
- `WEEK_ID` varchar(20) DEFAULT NULL,
- `WEEK_LONG_DESC` varchar(50) DEFAULT NULL,
- `MONTH_ID` varchar(20) DEFAULT NULL,
- `MONTH_LONG_DESC` varchar(50) DEFAULT NULL,
- `QUARTER_ID` varchar(20) DEFAULT NULL,
- `QUARTER_LONG_DESC` varchar(20) DEFAULT NULL,
- `YEAR_ID` varchar(20) DEFAULT NULL,
- `YEAR_LONG_DESC` varchar(50) DEFAULT NULL,
- PRIMARY KEY (`ID`)
- ) ENGINE=InnoDB AUTO_INCREMENT=731 DEFAULT CHARSET=utf8;
存储过程:
删除 f_dim_day这个存储过程
- DROP PROCEDURE 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_SHORT_DESC,DAY_LONG_DESC,WEEK_DESC,WEEK_ID,WEEK_LONG_DESC,MONTH_ID,MONTH_LONG_DESC,QUARTER_ID,QUARTER_LONG_DESC,YEAR_ID,YEAR_LONG_DESC)
- SELECT
- 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,
- case DAYOFWEEK(STR_TO_DATE(start_date,'%Y-%m-%d %H:%i:%s')) when 1 then '星期日' when 2 then '星期一' when 3 then '星期二' when 4 then '星期三' when 5 then '星期四' when 6 then '星期五' when 7 then '星期六' end WEEK_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_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('2015-01-01',365);
mysql 创建日历表相关推荐
- mysql创建日历表,可以按日或按月增加数据
统计一段时间内每天的各种数据,发现某天没有的数据没法显示出来,所以这时候用一张日历表去联合查询即能获得每天的数据 创建日历表用到ADDDATE这个系统函数,这个函数会自动为给定的日期添加指定的时间间隔 ...
- 更新MYSQL生成日历表,支持跨年份 存储过程
更新MYSQL生成日历表,支持跨年 代码 CREATE DEFINER = 'root'@'localhost' PROCEDURE `proc_ym`(IN sdate DATE, IN edate ...
- MySql生成日历表
mysql使用存储过程,创建日历表: 准备日历表: CREATE TABLE `m_dim_day` ( `ID` int(11) NOT NULL AUTO_INCREMENT,`DAY_ID` v ...
- oracle与mysql创建表时的区别
oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表 CREATE TABLE predict_data as (id integer NOT NULL, uid varc ...
- MySQL留言板怎么创建_如何使用JSP+MySQL创建留言本(三)
如何使用JSP+MySQL创建留言本(三)推荐查看本文HTML版本 下面我们开始建立留言的页面! import ="java.util.*" import ="jav ...
- mysql创建库几种方法_MySQL创建数据库的两种方法
本文为大家分享了两种mysql创建数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 mysql 数据库. 所以 ...
- centos 7 mysql 创建用户_【CentOS 7MySQL常用操作4】,MySQL创建用户以及授权#180116
hellopasswd MySQL创建用户以及授权 grant all on . to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSE ...
- MySQL 创建数据表
MySQL 创建数据表 创建MySQL数据表的SQL语法: CREATE TABLE table_name (column_name column_type); 例如,我们在 PENGKE 数据库中创 ...
- mysql新建备份在哪里_navicat for MySQL创建备份计划的详细流程
刚入手navicat for MySQL的用户,不清楚怎么创建备份计划?现在就跟着小编一起来看一下navicat for MySQL创建备份计划的详细流程吧. navicat for MySQL创建备 ...
最新文章
- Linux系统配置VI或VIM的技巧
- 离线轻量级大数据平台Spark之MLib机器学习库SVM实例
- 关于IOS开发知识的总结
- 洛谷 - P2944 [USACO09MAR]Earthquake Damage 2 G(最小割)
- 《Python Cookbook 3rd》笔记(2.5): 字符串搜索和替换
- 004python与mongoDB交互
- 对于防止按钮重复点击的尝试
- 基于springboot的考研学习平台
- 【mysql】扩展-常用函数
- 第5课:Scratchjr说话指令
- 党建管理系统开发,组织部干部人事任免平台建设方案
- 定量/高光谱遥感之——光谱分析技术
- c语言大小写字母变换,C语言学习:任意大小写字母转换
- 身份证上传尺寸太大如何缩小?改照片尺寸的简单方法
- python字典键盘添加元素_对python字典元素的添加与修改方法详解
- stm32F103上基于FreeRTOS系统的亮度可调小台灯
- java-net-php-python-springboot健身房管理系统计算机毕业设计程序
- Vimeo高级API:使用SCRIBE在JAVA中搜索公共视频
- 上海东原从“野心家”到“大玩家” 连接江湖“人情味”
- 中小网站遭遇成长烦恼:备案花费远超经营成本
热门文章
- 使用电阻应变片实现对弹丸击打的检测
- amoled下载_AMOLED的完整形式是什么?
- 盘点2009年商场百货创意促销手段 秒杀当道
- hadoop101: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
- unity中Standard Assets导入错误的解决方法
- MySQL事务——万字详解
- linux系统日志怎么退出,linux系统日志的清除
- jvm性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(二)
- C语言数组知识点总结
- 什么是语义网络知识表示?给出这种表示方法的优缺点?