Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Dukatus en 18 Abril 2013, 13:23 pm



Título: SQLite - Fecha guardado como entero
Publicado por: Dukatus en 18 Abril 2013, 13:23 pm
Hola a todos:

Tengo que leer una base de datos de SQLite, en la que hay varios campos DateTime, que estan guardados como integer y no tengo ni idea de como pasarlo a DateTime al leerlo.

Hay alguna funcion del SQL en SQLite para pasarlo a datetime?


Gacias y un saludos


Título: Re: SQLite - Fecha guardado como entero
Publicado por: Carloswaldo en 18 Abril 2013, 16:01 pm
Eso depende de qué es exactamente lo que está guardado en esos campos integer. ¿Tiempo Unix? ¿Tienes algún ejemplo de los datos?


Título: Re: SQLite - Fecha guardado como entero
Publicado por: Dukatus en 18 Abril 2013, 17:08 pm
Hola Carlos gracia por contestar.

El problema lo tengo con dos bases de datos, las dos tienen guardado las fechas y hora, en un campo INTEGER, pero una tiene el los valores mas grande que la otra, la diferencia de las dos es que la segunda es de un telefono con androis y la primera de un PC.

Valores de una y la otra

13008729235474967

1362723844063

Gracias y un saludo.


Título: Re: SQLite - Fecha guardado como entero
Publicado por: Carloswaldo en 18 Abril 2013, 17:58 pm
http://www.sqlite.org/lang_datefunc.html

Citar
Compute the date and time given a unix timestamp 1092941466.

SELECT datetime(1092941466, 'unixepoch');

Al parecer la primera es tiempo unix en microsegundos y la segunda en milisegundos (aunque no hay manera de estar completamente seguros de esto a menos que hables con el que hizo la base o el programador), en el primer caso tienes que dividir el número para 10000000 antes de hacer la conversión, en el segundo para 10000, y ver si los resultados son coherentes.