如题,报表需要,左侧是开始到结束的日期,每天一行,那么就需要输出 开始日期到结束日期的所有日期,请教如何一次性输出,谢谢! |
|
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 建立所有日期临时 表,与工作表连接处理
|
楼上的想法跟我的差不多,搞个临时日期表。。。 存储过程太麻烦不过还是谢谢
|