有没有办法在不使用任何MySQL表的情况下获取两个日期之间的所有日期
就像是:
SELECT date BETWEEN '2012-02-10' AND '2012-02-15'
Run Code Online (Sandbox Code Playgroud)
这将导致:
out put date list
2012-02-10
...
2012-02-15
Run Code Online (Sandbox Code Playgroud)
Kru*_*tel 15
以下是查询:
此查询在两个数据库中都给出了正确的结果:MariaDB&MySQL.
SELECT ADDDATE('2012-02-10', INTERVAL @i:=@i+1 DAY) AS DAY
FROM (
SELECT a.a
FROM (SELECT 0 AS a 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) AS a
CROSS JOIN (SELECT 0 AS a 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) AS b
CROSS JOIN (SELECT 0 AS a 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) AS c
) a
JOIN (SELECT @i := -1) r1
WHERE
@i < DATEDIFF('2012-02-15', '2012-02-10')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7949 次 |
| 最近记录: |