Willian Cândido Postado Setembro 25, 2012 Denunciar Share Postado Setembro 25, 2012 Olá, gostaria de saber como faço para fazer o calculo de data no exemplo abaixo via query do SQL Server:Data inicial: 01/05/2010Data final: 10/06/2012Resultado: 2 anos, 1 mês e 10 dia.Tentei usar o DATEDIFF, mas ele me fornece dia, mês e ano separados e não agrupados como no meu exemplo.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Setembro 27, 2012 Denunciar Share Postado Setembro 27, 2012 Bom dia Willian, você terá que utilizar o DATEDIFF mesmo e fazer os cálculos / agrupamento. No sql não há nenhum função que retorne estes valores já prontos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Cândido Postado Setembro 27, 2012 Autor Denunciar Share Postado Setembro 27, 2012 Solução:DECLARE @s DATE, @e DATESELECT @s = '20100101', @e = '20121021';SELECT y + ' year(s), ' + m + ' month(s) and ' + d + ' day(s).'FROM( SELECT RTRIM(y), RTRIM(m - CASE WHEN pd < 0 THEN 1 ELSE 0 END), RTRIM(CASE WHEN pd < 0 THEN nd ELSE pd END) FROM ( SELECT DATEDIFF(MONTH, @s, @e) / 12, DATEDIFF(MONTH, @s, @e) % 12, DATEDIFF(DAY, @s, DATEADD(MONTH, -DATEDIFF(MONTH, @s, @e), @e)), DATEDIFF(DAY, @s, DATEADD(MONTH, 1-DATEDIFF(MONTH, @s, @e), @e)) ) AS x (y, m, pd, nd)) AS y (y, m, d); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Willian Cândido
Olá, gostaria de saber como faço para fazer o calculo de data no exemplo abaixo via query do SQL Server:
Data inicial: 01/05/2010
Data final: 10/06/2012
Resultado: 2 anos, 1 mês e 10 dia.
Tentei usar o DATEDIFF, mas ele me fornece dia, mês e ano separados e não agrupados como no meu exemplo.
Obrigado.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.