Diferencia en Conversión de Fecha a Double en SQL Server.
Publicado por Carlos Ch M (3 intervenciones) el 27/09/2016 21:52:00
Cordial Saludo;
Me gustaría saber si alguien me puede dar una explicación del porque la diferencia en estos resultados.
Deseo almacenar una fecha y hora como un valor numérico, por lo que ejecuto la sentencia de SQL Server
SELECT CAST(CONVERT(DATETIME,SYSDATETIME(),103) AS FLOAT)
Y tengo como resultado para el día 27 de septiembre de 2016 a las 14:36 el número
42638.6085907407
Si este último número lo uso en la sentencia
SELECT CONVERT(datetime,42638.6085907407,103)
Obtengo como resultado la fecha y hora inicial
2016-09-27 14:36:22.237
Sin embargo si tomo ese número y lo copio en Excel y cambio el formato de la celda a Fecha, obtengo como fecha el 25 de septiembre y no el 27;
Desde una aplicación en Visual Basic 6.0 conectada a SQL Server se crean y actualizan registros asignando como fecha la sentencia CDbl(Now) para convertir la fecha en un doublé.
Rgto!Mp_Sol_Fec = CDbl(Now), 4)
Pero al consultar los registros y convertirlos a fecha obtengo fechas dos días posteriores a la fecha real, es decir 29 de septiembre.
El valor numérico generado por VB 6.0 sin embargo al ser copiado en una celda de Excell si refleja la fecha correcta del 27 de Sep.
Entonces el problema de la diferencia en estas fechas está en SQL Server?
Alquilen por favor tiene idea de que pasa ?
Me gustaría saber si alguien me puede dar una explicación del porque la diferencia en estos resultados.
Deseo almacenar una fecha y hora como un valor numérico, por lo que ejecuto la sentencia de SQL Server
SELECT CAST(CONVERT(DATETIME,SYSDATETIME(),103) AS FLOAT)
Y tengo como resultado para el día 27 de septiembre de 2016 a las 14:36 el número
42638.6085907407
Si este último número lo uso en la sentencia
SELECT CONVERT(datetime,42638.6085907407,103)
Obtengo como resultado la fecha y hora inicial
2016-09-27 14:36:22.237
Sin embargo si tomo ese número y lo copio en Excel y cambio el formato de la celda a Fecha, obtengo como fecha el 25 de septiembre y no el 27;
Desde una aplicación en Visual Basic 6.0 conectada a SQL Server se crean y actualizan registros asignando como fecha la sentencia CDbl(Now) para convertir la fecha en un doublé.
Rgto!Mp_Sol_Fec = CDbl(Now), 4)
Pero al consultar los registros y convertirlos a fecha obtengo fechas dos días posteriores a la fecha real, es decir 29 de septiembre.
El valor numérico generado por VB 6.0 sin embargo al ser copiado en una celda de Excell si refleja la fecha correcta del 27 de Sep.
Entonces el problema de la diferencia en estas fechas está en SQL Server?
Alquilen por favor tiene idea de que pasa ?
Valora esta pregunta


0