mysql生成连续时间段,间隔一个小时
时间: 2023-07-13 18:33:52 浏览: 106
在 MySQL 中,可以使用 `GENERATE_SERIES` 函数和 `DATE_ADD` 函数来生成连续的时间段。下面是一个示例查询,可以生成从2021年1月1日00:00:00到2021年1月1日23:00:00之间的时间段,间隔为1小时:
```
SELECT DATE_ADD('2021-01-01 00:00:00', INTERVAL seq HOUR) AS Date
FROM (
SELECT @row := @row + 1 AS seq
FROM (SELECT 0 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) t1,
(SELECT 0 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) t2,
(SELECT @row := -1) t3
LIMIT 24
) seq_tbl
```
此查询使用了一个子查询 `seq_tbl` 来生成数字序列,然后使用 `DATE_ADD` 函数和交叉连接来生成连续的时间段。在此示例中,数字序列是从0到23,代表了一天中的24个小时。查询结果中的 `Date` 字段是生成的时间段。
阅读全文