如何借助 MySQL 视图从日期范围生成天数?
短信预约 -IT技能 免费直播动态提醒
为了说明这一点,我们创建以下视图 -
mysql> CREATE VIEW digits AS
-> SELECT 0 AS digit UNION ALL
-> SELECT 1 UNION ALL
-> SELECT 2 UNION ALL
-> SELECT 3 UNION ALL
-> SELECT 4 UNION ALL
-> SELECT 5 UNION ALL
-> SELECT 6 UNION ALL
-> SELECT 7 UNION ALL
-> SELECT 8 UNION ALL
-> SELECT 9;
Query OK, 0 rows affected (0.08 sec)
mysql> CREATE VIEW numbers AS SELECT ones.digit + tens.digit * 10 + hundreds.digit * 100 + thousands.digit * 1000 AS number FROM digits as ones, digits as tens, digits as hundreds, digits as thousands;
Query OK, 0 rows affected (0.09 sec)
mysql> CREATE VIEW dates1 AS SELECT SUBDATE(CURRENT_DATE(), number) AS date FROM numbers UNION ALL SELECT ADDDATE(CURRENT_DATE(), number + 1) AS date FROM numbers;
Query OK, 0 rows affected (0.09 sec)
mysql> Select date from dates1 where date between '2017-11-15' and '2017-11-30'order by date;
+------------+
| date |
+------------+
| 2017-11-15 |
| 2017-11-16 |
| 2017-11-17 |
| 2017-11-18 |
| 2017-11-19 |
| 2017-11-20 |
| 2017-11-21 |
| 2017-11-22 |
| 2017-11-23 |
| 2017-11-24 |
| 2017-11-25 |
| 2017-11-26 |
| 2017-11-27 |
| 2017-11-28 |
| 2017-11-29 |
| 2017-11-30 |
+------------+
16 rows in set (0.05 sec)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341