Hola a todos, tengo que hacer un UDF para calcular la antiguedad de trabajo
de una persona, en una tabla "Personal" tengo FechaIngreso y FechaEgreso,
debo pasarle al UDF estas dos y que me devuelva el resultado de la siguiente
forma: 2 años, 6 meses, 20 días. Tengo las siguiente función para calcular
la edad(creo que es del maestro Rubén Vigón)
CREATE FUNCTION dbo.udfEdad(@FNacim smalldatetime, @AFecha smalldatetime)
RETURNS smallint AS BEGIN
DECLARE @Edad smallint
SET @Edad = Year(@AFecha) - Year(@FNacim)
IF Month(@AFecha) < Month(@FNacim)
SET @Edad = @Edad - 1
ELSE
IF Month(@AFecha) = Month(@FNacim) AND Day(@AFecha) < Day(@FNacim)
SET @Edad = @Edad - 1
RETURN @Edad
END
Mi pregunta es si se podrá adaptar para lo que me hace falta?
Ademas debo tener en cuenta que la columna FechaEgreso puede estar vacia, en
ese caso debo calcular la antiguedad con respecto a la fecha actual.
Saludos y mil gracias..
Leer las respuestas