Как я могу перечислить несколько диапазонов дат в SQL Server 2008? Я знаю, как это сделать, если моя таблица содержит одну записьSQL Server 2008 - Перечислить несколько диапазонов дат
StartDate EndDate
2014-01-01 2014-01-03
;WITH DateRange
AS (
SELECT @StartDate AS [Date]
UNION ALL
SELECT DATEADD(d, 1, [Date])
FROM DateRange
WHERE [Date] < @EndDate
)
SELECT * FROM DateRange
OUTPUT
2014-01-01, 2014-01-02, 2014-01-03
Однако я потерял о том, как это сделать, если моя таблица содержит несколько записей. Я мог бы использовать приведенную выше логику в курсоре, но хочу знать, есть ли решение на основе набора.
StartDate EndDate
2014-01-01 2014-01-03
2014-01-05 2014-01-06
DESIRED ВЫВОД:
2014-01-01, 2014-01-02, 2014-01-03, 2014-01-05, 2014-01-06
Если вы отправляете код, XML или образцы данных, ** ПОЖАЛУЙСТА ** выделите эти строки в текстовом редакторе и нажмите кнопку «образцы кода» ('{}') на панели инструментов редактора, чтобы хорошо выделить и выделить синтаксис Это! (и, таким образом, вам не нужны никакие из этих беспорядочных ' ' и '
' тегов!) –
Нечетный ... каждый раз, когда я пытаюсь отправить ответ, я сталкиваюсь с ошибкой из StackOverflow. –
@Jon Что такое «ошибка»? Какая ошибка? –