2011-05-12 17 views
6

2 preguntas:SQLite Consulta Preguntas

primer lugar, en MSSQL, puedo convertir a nvarchar fecha y hora haciendo

cast('5/31/2011 12:00:00 AM' as datetime) as convertedtodate 

Resultado: 2011-05-31 00: 00: 00.000

Cómo ¿Lo hago en SQLite?

En segundo lugar, ¿cuál es el equivalente de la función datediff de MS SQL en sqlite? Ej .:

datediff(Day,'5/30/2011 12:00:00 AM','5/31/2011 12:00:00 AM') as DateAge 

Resultado: 1

Respuesta

5

Para responder a la primera pregunta (convertir la serie hasta la fecha), la respuesta es "depende". Como SQLite no tiene un campo de fecha específico, es posible que no necesite convertirlo. Simplemente puede almacenarlo en un campo de cadena (las opciones son sting, real o int para el almacenamiento de la fecha). Si desea convertir la cadena en un entero (que sería el número de segundos desde 1970-01-01), se utiliza el método strftime así:

strftime('%s','2011-05-12 01:03:00') 

En cuanto a la segunda parte de su pregunta (diferencia entre dos fechas), se usaría el siguiente código en SQLite:

strftime('%s','2011-05-12 01:03:00') - strftime('%s','2011-05-08 11:54:09') 

que le dará el número de segundos entre las dos fechas. Puede jugar con esta información, así como mucho más, para obtener exactamente lo que está buscando de SQLite. Aquí hay un par de recursos que le ayudarán a cabo:

http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions

http://www.sqlite.org/datatype3.html

+0

He intentado utilizar esta pero no work..use de administración SQLite para ver el resultado ... – BizApps

+0

@ John Ryan - ¿Qué quieres decir con que no funciona? Lo intenté y funcionó para mí. El primero convirtió esa fecha al formato de hora UNIX, mientras que el segundo me dio la cantidad de segundos entre dos fechas. Esta información se extrae directamente de la documentación, por lo que creo que sería útil saber qué errores está obteniendo. – IAmTimCorey

+0

@john ryan - intente 'SELECT strftime ('% s', '2011-05...;' Y vea si eso funciona. – JasonFruit

Cuestiones relacionadas