calcular la edad en una select

07/08/2008 - 22:22 por Mundo Informatico | Informe spam
necesito saber como calcular la edad
 

Leer las respuestas

#1 Jorge
08/08/2008 - 00:05 | Informe spam
Hola

Hay varias formas de hacer eso.

Yo tengo una funcion:

CREATE FUNCTION fn_Edad (@FecNac DATETIME, @FecHoy DATETIME)
RETURNS VARCHAR(7)
AS
BEGIN

DECLARE @ANO VARCHAR(3)
DECLARE @MES VARCHAR(3)

SET @ANO = YEAR(@FecHoy) - YEAR(@FecNac)

IF MONTH(@FecNac) > MONTH(@FecHoy)
BEGIN
SET @ANO = @ANO - 1
SET @MES = 12 - (month(@FecNac) - month(@FecHoy))
END

IF MONTH(@FecNac) < MONTH(@FecHoy)
BEGIN
SET @MES = (MONTH(@FecHoy) - MONTH(@FecNac))
END

IF MONTH(@FecNac) = MONTH(@FecHoy)
BEGIN
IF DAY(@FecNac) <= DAY(@FecHoy)
BEGIN
SET @MES = 0
END
IF DAY(@FecNac) > DAY(@FecHoy)
BEGIN
SET @ANO = @ANO - 1
SET @MES = 11
END
END

RETURN RIGHT(' ' + @ANO,2) + 'a ' + RIGHT(' ' + @MES,2) + 'm'

END


Y la llamo asi:

DECLARE @FEC_NAC DATETIME
SET @FEC_NAC='19720325'
- Edad a la fecha de hoy, de alguien que nacio el 25/03/1972
SELECT dbo.fn_Edad (@FEC_NAC,getdate())

Resultado: 36a 5m


JORGE GUILLEN CANO
Lima-Peru
MCTS - SQL 2005


"Mundo Informatico" escribió en el mensaje
news:ucHdpsM%
necesito saber como calcular la edad


Preguntas similares