在MySQL中,要獲取連續的日期,可以使用以下方法:
遞歸CTE允許我們對日期進行連續查詢。以下是一個示例:
-- 創建一個名為date_range的臨時表,包含從start_date開始的連續日期
CREATE TEMPORARY TABLE date_range (date DATE);
-- 使用遞歸CTE填充date_range臨時表
WITH RECURSIVE date_sequence (date) AS (
SELECT start_date FROM your_table -- 從your_table中獲取起始日期
UNION ALL
SELECT DATE_ADD(date, INTERVAL 1 DAY) FROM date_sequence WHERE date < end_date -- 在date_sequence中添加下一天,直到達到end_date
)
INSERT INTO date_range (date) SELECT date FROM date_sequence;
-- 查詢date_range臨時表中的所有日期
SELECT * FROM date_range;
請將your_table
替換為包含起始日期(start_date
)和結束日期(end_date
)的表名。
-- 創建一個名為date_range的臨時表,包含從start_date開始的連續日期
CREATE TEMPORARY TABLE date_range (date DATE);
-- 使用循環填充date_range臨時表
SET @start_date = 'your_start_date'; -- 設置起始日期
SET @end_date = 'your_end_date'; -- 設置結束日期
SET @current_date = @start_date; -- 初始化當前日期為起始日期
WHILE @current_date <= @end_date DO
INSERT INTO date_range (date) VALUES (@current_date); -- 將當前日期插入到date_range臨時表中
SET @current_date = DATE_ADD(@current_date, INTERVAL 1 DAY); -- 將當前日期加1天
END WHILE;
-- 查詢date_range臨時表中的所有日期
SELECT * FROM date_range;
請將your_start_date
和your_end_date
替換為實際的起始日期和結束日期。