Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้างช่วงวันที่ด้วย MySQL View

การสร้างวันที่สม่ำเสมอด้วย View

ใช้ View 巢套 (Nested Views) สร้างตัวเลข แล้วคำนวณวันที่

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)

เทคนิคนี้สร้างลำดับวันที่ได้โดยไม่ต้องมีตารางปฏิทิน