La siguiente función mostrada en SQL Server es una opción para calcular el intervalo de años entre dos fechas, la primera fecha es la fecha de inicio(menor) y la segunda fecha es la fecha final(mayor). En caso que se quiera sacar la diferencia de años de una fecha cualquier con la fecha actual, usar como segundo parámetro getdate() o simplemente null. Dentro de la funcion se valida que si la segunda fecha es nula, se asigna al parámetro la fecha actual.
-- -- Create FUNCTION [dbo].[fnr_ireCalcularIntervaloAnios](@FechaInicio datetime, @FechaFin datetime) returns int as begin declare @anios int if @FechaFin is null set @FechaFin = getdate() set @anios = (((365* year(@FechaFin))-(365*(year(@FechaInicio))))+ (month(@FechaFin)-month(@FechaInicio))*30 +(day(@FechaFin) - day(@FechaInicio)))/365 return @anios end GOPara ejecutar la función podemos usar:
-- -- set dateformat dmy -- para poder trabajar con fechas en formato dia/mes/año -- es valido solo para la ventana de consultas select dbo.[fnr_ireCalcularIntervaloAnios] ('10/12/2004', '17/12/2010') select dbo.[fnr_ireCalcularIntervaloAnios] ('24/04/2004', null)
12/17/2014 03:54:00 p. m.
Share:
0 comentarios: