MySQL获取某月所有的日期点

来源:互联网 发布:java interrupt 编辑:程序博客网 时间:2024/06/09 22:01

1、问题

如题目所说,通过MySQL获取某年某月所有的天数。如获取2014年2月的所有日期。

2、处理过程

2.1 创建一个数字辅助表

CREATE TABLE `nums` (  `key` int(11) NOT NULL,  PRIMARY KEY (`key`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数字辅助表';

2.2 创建一个存储过程为数字辅助表增加数据

DELIMITER $$CREATE DEFINER=`root`@`%` PROCEDURE `create_nums`(cnt int unsigned)BEGINdeclare s int unsigned default 1;    truncate table nums;    insert into nums select s;    while s*2<=cnt do        begin            insert into nums select `key`+s from nums;            set s=s*2;        end;    end while;END$$DELIMITER ;

执行存储过程,增加1-50000进入数字辅助表

call create_nums(50000);

2.3 通过数字辅助表获取2014年2月1日到2014年2月31日

select CONCAT('2014-02-',lpad(n.key,2,'0') ) day  from nums n where n.key < 32

2.3 在2.2中得到的数据中小于等于2014年2月最后一天的日期就是我们要的结果

select * from (select CONCAT('2014-02-',lpad(n.key,2,'0') ) day  from nums n where n.key < 32) d where d.day <= last_day(DATE_FORMAT('2014-02-01','%Y-%m-%d')) ;


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 头发很油 又少怎么办 头发两天就油了怎么办 头发被剪的很丑怎么办 美发师年龄大了怎么办 青春期头发掉的厉害怎么办 剪了短发头发翘怎么办 4个月婴儿咳嗽怎么办 2个月婴儿咳嗽怎么办 5个月婴儿咳嗽怎么办 烫的内扣睡觉怎么办 站了一天腿疼怎么办 头发被剪得很丑怎么办 淹脖子破皮了怎么办 孩子胖脖子淹了怎么办 宝宝屁股破皮了怎么办 新生儿屁屁发红及烂怎么办 头发烫完太蓬松怎么办 头发烫的太卷了怎么办 烫了卷发很毛躁怎么办 烫发后头发干枯毛躁怎么办 烫完头发掉发怎么办 烫发掉发严重该怎么办 烫头发后掉头发怎么办 烫过头发后毛躁怎么办 烫了头发像大妈怎么办 头发烫了之后很毛躁怎么办 鳄龟爪子烂了怎么办 乌龟壳边缘烂了怎么办 乌龟拉绿色的水怎么办 小乌龟龟壳变软怎么办 鳄龟不待在水里怎么办 脖子整天黏黏的怎么办 有脊椎侧弯跳舞怎么办 落枕10天还不好怎么办 落枕十几天没好怎么办 肩一边高一边低怎么办 35岁无稳定工作怎么办 机械手表走的快怎么办 机械表发条紧了怎么办 两只乌龟互相咬怎么办? 乌龟鼻子摔烂了怎么办