contar los meses que han pasado por año entre dos fechas

publicado por: Anonymous

Necesito saber como puedo contar la cantidad de meses por año que han pasado entre dos fechas, por ejemplo tengo un registro de una fecha de 20-01-2015 y yo lo consulto en la fecha de 20-01-2017, y necesito que me devuelva entre 20-02-2015 hasta 31-12-2015 = 11 meses, 01-01-2016 hasta el 31-12-2016 = 12 meses y así sucesivamente hasta la fecha final.

solución

Lo que buscas es la instruccion TIMESTAMPDIFF la cual la usas de la siguiente manera para tu caso:

DECLARE @fecha1 date = '2016-10-14'
DECLARE @fecha2 date = '2017-3-2'

SELECT @TIMESTAMPDIFF(MONTH, @fecha1, @fecha2 )

Ampliando la respuesta, necesitas generar una lista de años con la diferencia entre ambas fechas y de ahi generar la lista de diferencias usando la instruccion antes comentada

Fiddle: http://sqlfiddle.com/#!9/6d215/10/2

Nota no tengo mucha idea de como manejar los años biciestos aqui pero no deben de causar mucho problema

Saludos

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *