给定起止日期,计算出日期行
mysql
set @start_date = '2025-01-21';
set @end_date = '2025-02-11';
with recursive dates as (
select @start_date as date_column
union all
select DATE_ADD(date_column, interval 1 DAY)
from dates
where date_column < @end_date
)
select * from dates;
SQL Server
DECLARE @start_date DATE = '2025-01-21';
DECLARE @end_date DATE = '2025-02-11';
WITH DateRange AS (
SELECT @start_date AS date_column
UNION ALL
SELECT DATEADD(Day, 1, date_column)
FROM DateRange
WHERE date_column < @end_date
)
SELECT * FROM DateRange
OPTION (MAXRECURSION 0);