Calculo de años - datediff

04/05/2006 - 22:56 por mayowr | Informe spam
Buenas Tardes:

Tengo un problema con el cálculo de unos años, estoy utilizando
DATEDIFF para encontrar los años, pero me devuelve un valor entero y
requiero que me lo devuelva con decimales o truncado.

Si tengo como f_nace: 31/12/1965, en año me deberia dar 40.48 o por
lo menos truncar a 40, pero me está arrojando 41

SELECT EMP.EMPLE,
SUBSTRING(RTRIM(EMP.APELLIDO)+' '+ RTRIM(EMP.NOMBRE),1,35) AS
NOMEMP,
EMP.F_NACE,
DATEDIFF(year, F_NACE, GETDATE()) AS AÑO
FROM EMP

Muchas Gracias,
 

Leer las respuestas

#1 Morena González
04/05/2006 - 23:42 | Informe spam
Lo que sucede es que le pones que te calcule la diferencia para el año, si
buscas en los BOL encontrarás que al ponerle que YEAR te devuelve la
cantidad de años transcurridos entre los años que están en las fechas
inicial y final. Probá poniéndole MONTH y luego dividiendo el resultado
entre 12.

wrote in message
news:
Buenas Tardes:

Tengo un problema con el cálculo de unos años, estoy utilizando
DATEDIFF para encontrar los años, pero me devuelve un valor entero y
requiero que me lo devuelva con decimales o truncado.

Si tengo como f_nace: 31/12/1965, en año me deberia dar 40.48 o por
lo menos truncar a 40, pero me está arrojando 41

SELECT EMP.EMPLE,
SUBSTRING(RTRIM(EMP.APELLIDO)+' '+ RTRIM(EMP.NOMBRE),1,35) AS
NOMEMP,
EMP.F_NACE,
DATEDIFF(year, F_NACE, GETDATE()) AS AÑO
FROM EMP

Muchas Gracias,

Preguntas similares