MySQL 日期添加间隔作为列表

标签 mysql date

有一个包含如下字段的表:(id、日期、间隔天数) 例如,日期 ='2015-06-30' 且间隔天数 =3 列出 (date - (date+intervaldays)) 之间的所有日期(如果有的话)的查询是什么,所以输出将类似于:

id 2015-06-30
id 2015-07-01
id 2015-07-02

我记得 DATE_ADD(date, INTERVAL Intervaldays DAY) 将给出最后一个日期,那么我如何列出之间的天数

最佳答案

实际上感谢@Mark Ba​​nnister this post 我想出了这个完美运行的查询

select selected_date from 
mytable JOIN 
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) selected_date from
 (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4
 ) v
 ON v.selected_date >= start_date AND v.selected_date<=DATE_ADD(start_date, INTERVAL days_interval DAY)

有什么改进吗?

关于MySQL 日期添加间隔作为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31148103/

相关文章:

php - Codeigniter 事件记录选择、左连接、计数

php - 如何在 PHP 上使用 DAL

java - 将今天的日期 + 30 天与另一个日期进行比较

php - 如何在没有javascript的情况下知道本地日期

mysql - 从mysql获取唯一记录

php - 当输入字段中的值已在数据库中时禁用提交按钮

mysql - 如何在SQLite session 中设置时区?

Php如何从一年中的某一天转到日期,反之亦然

java - 获取 Java 中的所有夜间日期

sql - 如何在SQL Server中确定一个月中有多少天?