Problema con DateDiff

01/12/2003 - 11:15 por Alberto | Informe spam
Para ver la diferencia en años entre dos fechas escribo
print datediff(yy, '10/10/1970', '9/10/2000')
pero ignora completamente los días y los meses. De hecho, en el ejemplo
anterior, me dice que la diferencia es 30 cuando aún falta un día para que
sea así.
¿Hay algún modo de parametrizar la función o se debe resolver a mano usando
T-Sql?

Gracias.

Preguntas similare

Leer las respuestas

#1 Jose
01/12/2003 - 12:22 | Informe spam
Prueba a que te de la diferencia en dias.

Para ver la diferencia en años entre dos fechas escribo
print datediff(yy, '10/10/1970', '9/10/2000')
pero ignora completamente los días y los meses. De hecho,


en el ejemplo
anterior, me dice que la diferencia es 30 cuando aún


falta un día para que
sea así.
¿Hay algún modo de parametrizar la función o se debe


resolver a mano usando
T-Sql?

Gracias.


.

Respuesta Responder a este mensaje
#2 Accotto Maximiliano D.
01/12/2003 - 13:47 | Informe spam
hola!! yo lo expresaria en dias en lugar de años!! y a estos los divido por
365.

Creo entender q la Datediff (q alguien me corrija) toma creo q años de 360

un saludo

Maximiliano Damian Accotto
"Alberto" escribió en el mensaje
news:OVrO1P$
Para ver la diferencia en años entre dos fechas escribo
print datediff(yy, '10/10/1970', '9/10/2000')
pero ignora completamente los días y los meses. De hecho, en el ejemplo
anterior, me dice que la diferencia es 30 cuando aún falta un día para que
sea así.
¿Hay algún modo de parametrizar la función o se debe resolver a mano


usando
T-Sql?

Gracias.


Respuesta Responder a este mensaje
#3 Javier Loria
01/12/2003 - 14:05 | Informe spam
Hola Alberto:
Prueba con:
PRINT DATEDIFF(yy, '10/10/1970', '9/10/2000')
PRINT DATEDIFF(mm, '10/10/1970', '9/10/2000')
PRINT DATEDIFF(dd, '10/10/1970', '9/10/2000')
Veras que el primer parametro indica la medida de la diferencia (anos, meses
o dias).
Por otra parte que significa '09/10/2000', 9 de octubre o 10 de
setiembre. Te lo indico porque es un canditado a descomponer tu software si
dependiendo de la configuracion regional se interpreta una u otra cosa.
Asegurate o de fijar el formato de fecha antes:
SET DATEFORMAT mdy --Mes/Dia/Ano
SET DATEFORMAT dmy --Dia/Mes/Ano
O mejor todavia usa un standard que no permita confusiones:
'2000-10-10'

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Alberto escribio:
Para ver la diferencia en años entre dos fechas escribo
print datediff(yy, '10/10/1970', '9/10/2000')
pero ignora completamente los días y los meses. De hecho, en el
ejemplo anterior, me dice que la diferencia es 30 cuando aún falta un
día para que sea así.
¿Hay algún modo de parametrizar la función o se debe resolver a mano
usando T-Sql?

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