mysql - 如何转换日期范围内的特定日期。 (MYSQL)

标签 mysql

我想在 mysql 中生成一个日期范围内的日期。

我无法解释我真正需要做什么,所以我这样说。

SELECT CAST(BETWEEN STR_TO_DATE('05/06/2015','%m/%d/%Y') AND STR_TO_DATE('05/20/2015','%m/%d/%Y') AS DATE)

输出应该是:

  • 2015年5月6日
  • 2015年5月7日
  • ...
  • 2015年5月20日

最佳答案

假设您有权创建和执行存储过程,您可以这样做:

awoolford$ mysql -u root -p
Enter password: 

mysql> use test;
mysql> delimiter //
mysql> CREATE PROCEDURE createDateRange (IN startDate DATE, IN endDate DATE)
    -> BEGIN
    ->     DECLARE currentDate DATE;
    ->     SET currentDate := startDate;
    ->     DROP TABLE IF EXISTS dateRange;
    ->     CREATE TABLE dateRange(`date` date);
    ->     WHILE currentDate <= endDate DO
    ->         INSERT INTO dateRange VALUES (currentDate);
    ->         SET currentDate := DATE_ADD(currentDate, INTERVAL 1 DAY);
    ->     END WHILE;
    -> END//
mysql> delimiter ;

mysql> CALL createDateRange('2015-04-24', '2015-05-01');
Query OK, 1 row affected (0.01 sec)

mysql> select * from dateRange;
+------------+
| date       |
+------------+
| 2015-04-24 |
| 2015-04-25 |
| 2015-04-26 |
| 2015-04-27 |
| 2015-04-28 |
| 2015-04-29 |
| 2015-04-30 |
| 2015-05-01 |
+------------+
8 rows in set (0.00 sec)

关于mysql - 如何转换日期范围内的特定日期。 (MYSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586163/

相关文章:

mysql - 使用过程变量创建服务器端准备好的语句 - MySQL

php - 我想在 Web 服务器的 mysql 数据库发生更改时发送推送通知。是否可以?

mysql - 如何描述sql表中的对象?

Mysql 从多个表中选择 sum() 和 group by

php - MySQL: undefined index ,即使它们已被定义

php - Symfony 1.4 Doctrine fixtures加载单个文件?

mysql - 当范围 > 30 天时,MYSQL 会过滤结果

python - 在数据库中具有类似实例的行为

MySQL:在任何子查询中

java - 连接数据库时出现异常