给定起止日期,计算出日期行
mysql
set @start_date = '2025-01-21';
set @end_date = '2025-02-11';with recursive dates as (select @start_date as date_columnunion allselect DATE_ADD(date_column, interval 1 DAY)from dateswhere 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_columnUNION ALLSELECT DATEADD(Day, 1, date_column)FROM DateRangeWHERE date_column < @end_date
)SELECT * FROM DateRange
OPTION (MAXRECURSION 0);