calcular la edad en una select

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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Maxi Accotto
08/08/2008 - 02:35 | Informe spam
Hola, revisa el comando datediff en tus libros on line


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Mundo Informatico" escribió en el mensaje
de noticias:ucHdpsM#
necesito saber como calcular la edad


Respuesta Responder a este mensaje
#3 Alejandro Mesa
08/08/2008 - 19:24 | Informe spam
Trata:

use northwind
go

DECLARE @CurrentDate DATETIME

SET @CurrentDate = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

SELECT
[EmployeeID],
[FirstName],
[LastName],
[BirthDate],
@CurrentDate as [CurrentDate],
CASE
WHEN [BirthDate] > @CurrentDate THEN NULL
ELSE DATEDIFF(year, [BirthDate], @CurrentDate) - CASE WHEN
((MONTH([BirthDate]) * 100) + DAY([BirthDate])) > ((MONTH(@CurrentDate) *
100) + DAY(@CurrentDate)) THEN 1 ELSE 0 END
END AS Age
from
[dbo].[Employees]
GO


AMB


"Mundo Informatico" wrote:

necesito saber como calcular la edad



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida