繁体   English   中英

如何在日期范围内投放特定日期。 (MYSQL)

[英]How to cast a specific date within a date range. (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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM