A ver... Si es con sqlserver, lo siguiente funcionaría:

declare @FechaEnQueCumple datetime, @FechaNacimiento, @edad int
set @Edad = (los años que cumple)
set @FechaEnQueCumple = dateadd(yy, @edad, @FechaNacimiento)
print year(@FechaEnQueCumple) 

Si es con Fox, en sql no sé, habría que ver cómo son las tablas, pero una
función con un código así también podría andar (seguro que hay otra más
eficaz, pero va como ejemplo)

Local nEdad as Integer, nAnio as Integer, dFechaNacimiento as Date,;
        dFechaNueva as Date, dFechaTestigo as Date

nEdad = 30
dFechaNacimiento = Date(1965, 1, 1)
dFechaNueva = dFechaNacimiento + (nEdad * 365)
dFechaTestigo = Date(Year(dFechaNueva), Month(dFechaNacimiento),
Day(dFechaNacimiento))
dFechaNueva = dFechaNueva + (dFechaNueva - dFechaTestigo)
nAnioCumple = Year(dFechaNueva)

Wait window nAnioCumple

-----Mensaje original-----
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Alejandro David
Nelis Robles (GUFA)
Enviado el: Wednesday, May 02, 2007 12:03 AM
Para: gufa List Member
Asunto: [gufa] cOMO CALCULAR EN QUE AÑO UNA PERSONA CUMPLIRÍA N AÑOS.

Gente:

    Como podria hacer con una centencia SQL para poder calcular teniendo la 
fecha de nacimiento, ya lo pude hacer con fox
pero como se aría en SQL.

aca esta pero con scan

dHasta = DATETIME()
lcAnio = YEAR(dhasta)
SELECT aderente
scan all
 SCATTER MEMVAR
 FOR i = 1 TO 30
  M.ANIO = lcAnio + i
  m.edad = M.ANIO-YEAR(m.nacimiento)
    if m.edad = 19
      INSERT INTO tmpEdades FROM memvar
    endif
 ENDFOR
ENDSCAN




Desde ya muchas gracias.



No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 01/05/2007
2:10 AM
 

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.467 / Virus Database: 269.6.2/782 - Release Date: 01/05/2007
2:10 AM
 


Responder a