Array
(
)

Select calcular dias de atraso

Tiago Santos
|
MVP
    15 set 2015

Bom dia ,
Tenho o seguinte select(Sql Server)
select CLIENTE_ID,VENCIMENTO,RECEBIMENTO from Receber
gostaria de calcular o seguinte:
1º se houve e quantos dias foram de atraso de um para outro
2º e quando retornar o resultado como faço para obter a média de atraso.

Randrade
   - 15 set 2015

Você quer comparar com a data de recebimento ou a data atual?

Tiago Santos
|
MVP
    15 set 2015

na realidade preciso calcular a diferença entre os dias que tem na tabela Vencimento(seria a data inicial) e de Recebimento(data final)

Alex Lekao
   - 15 set 2015

Ola, estou meio sem tempo de postar estrutura completa.

mas de uma pesquisada sobre o datedif, vc recebera o retorno que deseja.

Randrade
   - 15 set 2015

Como o Alex disse, você pode usar a função DATEDIFF() no sql, ficando assim:

#Código

select CLIENTE_ID,VENCIMENTO,RECEBIMENTO, datediff(DD, VENCIMENTO, RECEBIMENTO) as diferenca
 from Receber

Douglas Noronha
   - 15 set 2015

Veja se assim ajuda
select CLIENTE_ID,DATEDIFF(day,VENCIMENTO,RECEBIMENTO) as diferenca, AVG(DATEDIFF(day,VENCIMENTO,RECEBIMENTO)) as media from Receber

Tiago Santos
|
MVP
    15 set 2015

Obrigado Randrade. Funcionou direitinho , mas tenho que listar nesse casso apenas os resultados maiores que 1 dia.

Douglas Noronha
   - 15 set 2015

#Código

select CLIENTE_ID,VENCIMENTO,RECEBIMENTO, datediff(DD, VENCIMENTO, RECEBIMENTO) as diferenca
 from Receber HAVING diferenca > 1

Mateus Ribeiro
   - 15 set 2015

Que sirva de exemplo pra futuras dúvidas semelhantes:

Comparação de campo calculado no SQL, no seu caso, se faz assim:

#Código

Where DateDiff(DD, VENCIMENTO, RECEBIMENTO) > 1

Tiago Santos
|
MVP
    15 set 2015

Obrigado Mateus , serviu direitinho. ficou ASSim:

select CLIENTE_ID,VENCIMENTO,RECEBIMENTO,(datediff(DD, VENCIMENTO, RECEBIMENTO)) as diferenca
from Receber Where DateDiff(DD, VENCIMENTO, RECEBIMENTO)

é possível saber qual o menor e o maior quantidade de dias usando o campo Diferenca?