La guía o código que hallarás en este artículo es la resolución más fácil y efectiva que encontramos a esta duda o dilema.
Ejemplo 1: diferencia de fecha en el número de días servidor sql
DECLARE@start_dt DATETIME2='2019-12-31 23:59:59.9999999',@end_dt DATETIME2='2020-01-01 00:00:00.0000000';SELECT
DATEDIFF(year,@start_dt,@end_dt) diff_in_year,
DATEDIFF(quarter,@start_dt,@end_dt) diff_in_quarter,
DATEDIFF(month,@start_dt,@end_dt) diff_in_month,
DATEDIFF(dayofyear,@start_dt,@end_dt) diff_in_dayofyear,
DATEDIFF(day,@start_dt,@end_dt) diff_in_day,
DATEDIFF(week,@start_dt,@end_dt) diff_in_week,
DATEDIFF(hour,@start_dt,@end_dt) diff_in_hour,
DATEDIFF(minute,@start_dt,@end_dt) diff_in_minute,
DATEDIFF(second,@start_dt,@end_dt) diff_in_second,
DATEDIFF(millisecond,@start_dt,@end_dt) diff_in_millisecond;
Ejemplo 2: Cómo obtener el número de meses entre 2 fechas SQL Server
CREATEFUNCTION FullMonthsSeparation
(@DateADATETIME,@DateBDATETIME)RETURNSINTASBEGINDECLARE@ResultINTDECLARE@DateXDATETIMEDECLARE@DateYDATETIMEIF(@DateA<@DateB)BEGINSET@DateX=@DateASET@DateY=@DateBENDELSEBEGINSET@DateX=@DateBSET@DateY=@DateAENDSET@Result=(SELECTCASEWHEN DATEPART(DAY,@DateX)> DATEPART(DAY,@DateY)THEN DATEDIFF(MONTH,@DateX,@DateY)-1ELSE DATEDIFF(MONTH,@DateX,@DateY)END)RETURN@ResultEND
GO
SELECT dbo.FullMonthsSeparation('2009-04-16','2009-05-15')as MonthSep -- =0SELECT dbo.FullMonthsSeparation('2009-04-16','2009-05-16')as MonthSep -- =1SELECT dbo.FullMonthsSeparation('2009-04-16','2009-06-16')as MonthSep -- =2
Al final de la post puedes encontrar los comentarios de otros gestores de proyectos, tú igualmente tienes la opción de dejar el tuyo si te gusta.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)