2011-05-28 12 views
5

Guarde mis datos en la base de datos SQLite. Guardé mi fecha en la base de datos como tipo de datos DATETIME.¿Cómo puedo recuperar los datos del mes específico de la base de datos SQLite?

Quiero recuperar solo los datos de un mes específico de mi databse SQLite.

Intento la siguiente consulta para recuperar datos, pero no fue útil. Me da datos, pero no fue el mes específico.

SELECT coulumn_name FROM table_name WHERE column_name Between "MM-DD-YYYY" AND "MM-DD-YYYY" 
+1

¿Probaste con las fechas en el formato "aaaa-mm-dd"? – Mat

+0

No, no lo intento ... porque solo quiero este formato de fecha ... Ahora lo intento, funcionó o no. –

+1

El problema central con el 'MM-DD-YYYY' es que no está ordenado lexicográficamente con respecto a intervalos de tiempo continuos. Esta es la razón por la cual es una buena razón para usar la fecha/hora ISO 8601 en general :-) [SQLite también admite ISO 8601 con un esfuerzo mínimo] –

Respuesta

7

esto probablemente no es óptima, pero se puede usar:

select column_name from table_name where strftime('%Y-%m', column_name) = '2011-05'; 
2

Utilice una función de recuperar sólo el mes de la fecha

SELECT strftime('%m', date(column_name)) FROM table;

Creo que esta es la función, pero no estoy tan seguro.

+0

+1 Pero podría necesitar tener en cuenta Año (dí un +1 porque la pregunta es algo vago en el área). La función también se debe mover al 'WHERE'. –

Cuestiones relacionadas