У меня есть таблица с 3 столбцами
Я хочу разделить каждый день на основе Promo_Period_Start и Promo_Period_End
Я попробовал следующее
declare @d datetime; set @d = getdate(); select * from [dbo].[T] where @d between Promo_Period_Start and Promo_Period_End
ОБРАЗЦЫ ДАННЫХ
Использовать рекурсивный CTE
;WITH cte AS ( SELECT ID, Promo_Period_Start,Promo_Period_End FROM T UNION ALL SELECT ID, DATEADD(day, 1, Promo_Period_Start), Promo_Period_End FROM cte WHERE Promo_Period_Start < Promo_Period_End ) SELECT * FROM cte