mysql - 创建mysql日期范围

标签 mysql date

似乎找不到我要找的答案。

我想在表格中创建从 2010-11-01 到 2015-01-01 的日期范围。

2010-11-01 2010-11-02 2010-11-03 等等……

列数据类型为“日期”

谢谢

最佳答案

DROP PROCEDURE IF EXISTS datespopulate;
DELIMITER |
CREATE PROCEDURE datespopulate(dateStart DATE, dateEnd DATE)
BEGIN
  WHILE dateStart <= dateEnd DO
    INSERT INTO datetable (d) VALUES (dateStart);
    SET dateStart = date_add(dateStart, INTERVAL 1 DAY);
  END WHILE;
END;
|
DELIMITER ;
CALL datespopulate('2010-11-01','2015-01-01');

请注意,我将表命名为“datetable”,并将列命名为“d”,但您可以随意更改它。在我这边运行良好,如果您遇到问题请告诉我。

感谢 Joe 让球运转起来。 ;-)

关于mysql - 创建mysql日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4736690/

相关文章:

php - 显示逗号分隔值的名称

mysql - 无法使用 JPA (MySQL) 删除主键为 0 的数据库条目

date - Docker 容器日期/时间与主机 PC 完全不同

javascript - 如何在 javascript 中创建包含小时和分钟的数组?

ios - 以日期和时间两种不同的字符串格式转换格式为 "19-07-2018 08:10:24"的字符串

php - Doctrine 2 和带有额外字段的多对多链接表

java.sql.SQLException : Invalid value for getShort() - ' '

mysql - 右连接不返回空值

java - 如何在 JSTL 中使用格式日期为 "yyyy-MM-dd"?

r - 为什么我不能在 R 中将字符串 "Feb 13 23:30:01 2014"转换为日期?