UDF para calcular antiguedad

13/09/2005 - 14:32 por Matías | Informe spam
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

#1 Isaias
13/09/2005 - 17:18 | Informe spam
La funcion debe trabajar perfectamente para lo que necesitas, solo considera
el NULL de la fecha2

Preguntas similares