Diferencia en año entre dos fechas....

02/05/2005 - 23:59 por ChevyGNL | Informe spam
Hola grupo,

una ayuda con esteo:

necesito saber cuántos años hay entre un par de fechas, pero he visto que la
funcion DATEDIFF no es la que me da el resultado que yo quiero, me explico

select datediff(year,'20051229' , '20060101' )

retorna que hay un año de diferencia y, cuando hay solo 3 días yo esperaría
(3/nro dias del año)

select datediff(year,'20051229' , '20051231' )

retorna 0 años de diferencia y hay 2 dias, yo esperaría (2/nro dias del año)

lo que necesito es un valor proporcional algo así como datediff(day,f1,f2) /
365, he buscado y no encuentro una funcionparecida, parece que SQL
Server no tiene esta función..?

Aprovecha: para otra consulta: como sé el nro de días que tiene un año
dado...

mil gracias..
Eusebio

Preguntas similare

Leer las respuestas

#1 Maxi
03/05/2005 - 00:42 | Informe spam
Hola, sacalo en dias y dividilo por 365 :-)


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas
Msn:

Maxi.da[arroba]gmail.com

"ChevyGNL" escribió en el mensaje
news:%
Hola grupo,

una ayuda con esteo:

necesito saber cuántos años hay entre un par de fechas, pero he visto que
la
funcion DATEDIFF no es la que me da el resultado que yo quiero, me explico

select datediff(year,'20051229' , '20060101' )

retorna que hay un año de diferencia y, cuando hay solo 3 días yo
esperaría
(3/nro dias del año)

select datediff(year,'20051229' , '20051231' )

retorna 0 años de diferencia y hay 2 dias, yo esperaría (2/nro dias del
año)

lo que necesito es un valor proporcional algo así como datediff(day,f1,f2)
/
365, he buscado y no encuentro una funcionparecida, parece que SQL
Server no tiene esta función..?

Aprovecha: para otra consulta: como sé el nro de días que tiene un año
dado...

mil gracias..
Eusebio







Respuesta Responder a este mensaje
#2 Don Roque
03/05/2005 - 14:31 | Informe spam
Para tu primer cuestion, hace lo que te dice Maxi, tene en cuenta que
algunos años son bisiestos y en lugar de dividir por 365, deberias
hacerlo por 366.

en cuanto a tu segunda pregunta:

deberias hacer una funcion/procedimiento que reciba el año del que
queres calcular la cantidad de dias. Luego, dentro de tu rutina,
declaras dos variables DATETIME, una la seteas al principio del año (
1/1/[tu año] ) y la otra al final (31/12/[tu año]). Despues, tu
rutina deberia devolver el DATEDIFF en dias entre esas dos fechas.

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