Convertir campo numérico a fecha

15/08/2006 - 23:32 por jennym | Informe spam
Saludos,
alguien me puede informar acerca del estándar de SQL o cuál será la razón por la que al convertir un dato de un campo int a fecha, no me retorna la fecha correcta, el campo se almacena desde asp con la sentenci

nFecha = cDbl(Now

pero al aplicar en sql la sentenci

CONVERT(smalldatetime,nFecha)

me retorna dos días mas que la almacenada

Gracia

jennym

Ver este tema: http://www.softwaremix.net/viewtopic-540391.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Miguel Egea
21/08/2006 - 01:49 | Informe spam
Bueno, no ve cual es el motivo ni la ventaja de convertir de int a fecha y
viceversa cuando el objetivo es manejar fechas, en cualquier caso, el tipo
fecha tiene que hacer un casting a entero, pero internamente es como si
tuviese decimales (las horas, minutos y segundos) dependiendo del momento
del día da mayor que 0.5 y por tanto redondea hacia el dia siguiente. Así
pues el comando siguiente da valores distintos a partir de las 12 del medio
día.
select cast(getdate() as int), cast(cast(getdate() as int) as datetime)


En el resto de casting no debes tener problema y eso de que de dos dias más,
pues no se, tendrías que contarnos que estás haciendo más en detalle pero
seguro que la cosa va por esto que te estoy contando.

Saludos
miguel Egea

"jennym" wrote in message
news:

Saludos,
alguien me puede informar acerca del estándar de SQL o cuál será la razón
por la que al convertir un dato de un campo int a fecha, no me retorna la
fecha correcta, el campo se almacena desde asp con la sentencia

nFecha = cDbl(Now)

pero al aplicar en sql la sentencia

CONVERT(smalldatetime,nFecha)

me retorna dos días mas que la almacenada.

Gracias


jennym


Ver este tema: http://www.softwaremix.net/viewtopic-540391.html

Enviado desde http://www.softwaremix.net


Preguntas similares