Manejo de fechas

28/04/2004 - 19:13 por Sinuhé Leines | Informe spam
Que hay!

Trabajo con sql 2000.
Desde un sp, hago llamo a una función definida que recibe la fecha actual
como parámetro y trae de una tabla en BD la fecha de instalación del
sistema, obtiene la cantidad de días transcurridos con la función DATEDIFF y
hace otras operaciones.

La fecha de instalación del sistema en la tabla estaba guardada con este
formato: YYYY-MM-DD HH.MM.SS. Por alguna extraña razón me está regresando
YYYY-DD-MM HH:MM:SS. La fecha real es 10-01-2004 (10-enero). y me está
regresando 10-01-2004.

Si hago
DATEDIFF(@fechaSistema, getdate())
el resultado es siempre correcto sin importar el formato de cualquiera de
los 2 argumentos. Perooo... como dentro de una función no es posible
utilizar getdate(), recibo esa fecha actual como parámetro de la función.,
entonces al hacer
DATEDIFF(@fechaSistema,@fechaActual) ...el resultado ES INCORRECTO.!!!
...
He intentado utilizar CONVERT e incluso SET DATEFORMAT para cambiar el
formato de las fechas y nada funciona

...alguna idea????? .HELP ME, PLEASE!!!
 

Leer las respuestas

#1 ulises
28/04/2004 - 19:28 | Informe spam
Las fechas se guardan internamente como dos campos
enteros, la interpretación de los mismos depende del
LANGUAGE que tiene definido el login con el cual te
conectas, por eso es mucho más fácil manejarlo en formato
ISO ('YYYYMMDD HH:MM:SS') el cual lo puede interpretar sin
problemas SQL Server.

Saludos,
Ulises

Que hay!

Trabajo con sql 2000.
Desde un sp, hago llamo a una función definida que recibe


la fecha actual
como parámetro y trae de una tabla en BD la fecha de


instalación del
sistema, obtiene la cantidad de días transcurridos con la


función DATEDIFF y
hace otras operaciones.

La fecha de instalación del sistema en la tabla estaba


guardada con este
formato: YYYY-MM-DD HH.MM.SS. Por alguna extraña razón


me está regresando
YYYY-DD-MM HH:MM:SS. La fecha real es 10-01-2004 (10-


enero). y me está
regresando 10-01-2004.

Si hago
DATEDIFF(@fechaSistema, getdate())
el resultado es siempre correcto sin importar el formato


de cualquiera de
los 2 argumentos. Perooo... como dentro de una función no


es posible
utilizar getdate(), recibo esa fecha actual como


parámetro de la función.,
entonces al hacer
DATEDIFF(@fechaSistema,@fechaActual) ...el resultado


ES INCORRECTO.!!!

He intentado utilizar CONVERT e incluso SET DATEFORMAT


para cambiar el
formato de las fechas y nada funciona

alguna idea????? .HELP ME, PLEASE!!!


.

Preguntas similares