Eu tenho vários intervalos de data em uma tabela do SQL Server.
Estou tentando contar o número de dias no intervalo de datas para um determinado ano no intervalo de datas.
Para todos os meus exemplos, estou tentando contar os números de dias em 2019 que o período abrange.
Eu tenho o código abaixo que calcula o total de dias no intervalo de datas, mas existe uma maneira de obter uma contagem dos dias dentro desse intervalo de datas apenas para 2019?
O primeiro período de data abaixo cobre todo o ano de 2019, então espero retornar um número em torno de 365.
O segundo período abrange apenas 30 dias em 2019, então gostaria que a consulta retornasse 30.
SELECT DATEDIFF(DAY,CAST(CAST(20160609 AS VARCHAR(30)) AS DATE), cast (CAST(20191231 AS VARCHAR(30)) AS DATE)) AS [Days]
SELECT DATEDIFF(DAY,CAST(CAST(20160609 AS VARCHAR(30)) AS DATE), cast (CAST(20190130 AS VARCHAR(30)) AS DATE)) AS [Days]
Supondo que sua tabela tenha um campo StartDate e EndDate, você pode usar uma instrução CASE para calcular a diferença de dias entre a data de término e 01/01/2019 ou a data de início do intervalo.
db<>violino