SQL Сервер: получить диапазон дат и количество дней - PullRequest
0 голосов
/ 28 марта 2020

У меня есть 4 столбца (фильтр двух столбцов), один столбец даты и один флаг столбца. Для комбинации столбца 1 и столбца 2 и флага открытия я хочу найти дату открытия, дату закрытия и количество дней, в которые он был открыт.

Вот мой пример и то, что я хочу найти с SQL с синим / серым цветом

enter image description here

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Это выглядит как проблема пробелов и островков, но острова уже определены как opendt (и, возможно, col1 и col2).

Итак, вы можете просто использовать row_number():

select row_number() over (partition by col1, col2, opendt order by effectivedt)
0 голосов
/ 28 марта 2020

Вы можете использовать функцию DATEDIFF(), как показано ниже, если у вас уже есть две даты, доступные как OpenDate и CloseDate в вашем случае.

Select DATEDIFF(DAY, OpenDate, CloseDate) as NumberOfOpenDays from YourTable
...