MySql 如何一次性输出 3月1日到3月10日的所有日期?

MySql 码拜 8年前 (2014-04-27) 564次浏览 0个评论

如题,报表需要,左侧是开始到结束的日期,每天一行,那么就需要输出 开始日期到结束日期的所有日期,请教如何一次性输出,谢谢!

20分

CREATE  
PROCEDURE  ps_get_date_by_stime_etime(IN ps_stime VARCHAR(10), IN ps_etime VARCHAR(10))
BEGIN
  DECLARE ps_time VARCHAR(10);
  DECLARE ps_count INT DEFAULT 0;

  SET ps_time = ps_stime;
  WHILE ps_time < ps_etime
  DO
     SET ps_time = date_add(ps_stime, INTERVAL ps_count DAY);
    SELECT ps_time;
    SET ps_count = ps_count + 1;
  END WHILE;
END

存储过程 ,传递参数 开始时间 与结束时间     ,打印时间段内的日期 ,希望对你有帮助 

30分
创建一个辅助表 create table calendar(cdate data primary key) ;
然后 insert 从 2015-01-01 到 2099-12-31的所有日期。

之后就简单了,直接用 between and 就行了。

30分
MYSQL不支持递归查询,用SP生成 OR 建立所有日期临时 表,与工作表连接处理
楼上的想法跟我的差不多,搞个临时日期表。。。 存储过程太麻烦不过还是谢谢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MySql 如何一次性输出 3月1日到3月10日的所有日期?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!