ใช้คิวรีที่รวม ADDDATE() กับตารางตัวเลขเสมือน (derived table) เพื่อสร้างลำดับวันที่ ตัวอย่างสร้างวันระหว่าง 2016-12-15 ถึง 2016-12-31:
mysql> SELECT * FROM (
-> SELECT ADDDATE('1970-01-01', t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date FROM
-> (SELECT 0 t0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0,
-> (SELECT 0 t1 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
-> (SELECT 0 t2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
-> (SELECT 0 t3 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3,
-> (SELECT 0 t4 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4
-> ) v
-> WHERE gen_date BETWEEN '2016-12-15' AND '2016-12-31';
+------------+
| gen_date |
+------------+
| 2016-12-15 |
| 2016-12-16 |
| ... |
| 2016-12-31 |
+------------+
17 rows in set (0.30 sec)
เทคนิคนี้ใช้ตารางตัวเลข 0-9 รวม 5 ตำแหน่ง สร้างจำนวน 0-99999 แล้วแปลงเป็นวันที่ด้วย ADDDATE จาก epoch