Usando la función strftime de sqlite en android

Hola, he insertado algunas fechas en mi base de datos.

Cuando uso sqlite3 en el formato YYY-MM-DD en otra tabla cuando hago mi consulta como

 SELECT * FROM SDay WHERE strftime('%Y-%m-%d', date)>=strftime('%Y-%m-%d','2013-02-21') AND strftime('%Y-%m-%d', date)<strftime('%Y-%m-%d','2013-09-15') 

Funciona muy bien.

Por otro lado, cuando uso el formato YYY-MM en otra tabla, entonces el

 SELECT * FROM SMonth WHERE strftime('%Y-%m', date)>=strftime('%Y-%m','2013-02') AND strftime('%Y-%m', date)<strftime('%Y-%m','2013-09') 

¿Por qué sucede y cómo podría arreglarlo?

Gracias.

En su segunda instrucción, strftime se proporciona con una timestring no timestring . Esto hace que la función devuelva NULL :

 sqlite> .nullvalue <NULL> sqlite> select strftime('%Y-%m','2013-02'); <NULL> 

Simplemente agregue el día a la fecha que proporcione y funcionará correctamente:

 sqlite> select strftime('%Y-%m','2013-02-01'); 2013-02 

Aquí puede encontrar una lista de formatos de timestring de tiempo válidos.

  • ¿La desinstalación de una aplicación android borra la base de datos almacenada en sdcard?
  • Uso correcto de Sqlite en Android (SQLiteOpenHelper, conexiones, hilo principal, etc ...)
  • Android: la ejecución de SQLiteStatement (inserción múltiple) falla con API Nivel 14
  • SQLiteConstraintException lanzada al intentar insertar
  • GreenDAO no genera restricción FOREIGN KEY (...) en la tabla
  • Android sqlite actualización de fila
  • WhereArgs Eliminación de la base de datos SQLite
  • Uso de ORM de azúcar con UUID o Joda-Time
  • ¿Cómo implementar consultas complejas utilizando un proveedor de contenido?
  • Eliminar las primeras filas en la base de datos android sqlite
  • Android.database.sqlite.SQLiteException: Token no reconocido:
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.