huesitowarez Posted March 13, 2015 Report Share Posted March 13, 2015 hola hola :), espero que esten bien :) estoy haciendo una aplicacion en android y estoy ocupando sqlite me funciona todo perfecto el unico problema es al momento de ordenar mis datos ya que quiero que se ordene de forma ascendete por fecha, en la base bueno parametros DATE en formato DD-MM-YYYY y para hacer la consulta hago: Cursor c=db.query("rutinas", columns, null, null, null, null, "fecha"+" ASC");el problema es que igual me quedan desordenadas :(.como podria ordenar mis datos por fecha? :(Gracias Link to comment Share on other sites More sharing options...
susodicho Posted March 13, 2015 Report Share Posted March 13, 2015 :mmm: Es que para que las fechas puedan ordenarse (correctamente) tienes que guardarlas en el formato YYYY-MM-DD. Pero si ya las guardaste así, podrías tratar haciendo la consulta de esta forma (no tengo idea si funciona) : Cursor c = db.query("rutinas", columns, null, null, null, null, "substr(fecha, 7, 4), substr(fecha, 4, 2), substr(fecha, 1, 2)"); :huasonto: Link to comment Share on other sites More sharing options...
huesitowarez Posted March 13, 2015 Author Report Share Posted March 13, 2015 :mmm: Es que para que las fechas puedan ordenarse (correctamente) tienes que guardarlas en el formato YYYY-MM-DD. Pero si ya las guardaste así, podrías tratar haciendo la consulta de esta forma (no tengo idea si funciona) : Cursor c = db.query("rutinas", columns, null, null, null, null, "substr(fecha, 7, 4), substr(fecha, 4, 2), substr(fecha, 1, 2)"); :huasonto: es que soy rebelde y los guarde al reves ajajajajja XD me resulto muchas gracias!!!!!!! me podrias explicar eso si que es lo que hace es que no cacho XD Link to comment Share on other sites More sharing options...
susodicho Posted March 14, 2015 Report Share Posted March 14, 2015 Cuando tengas dudas, siempre deberías consultar la documentación oficial primero ;) Como dije antes, para poder ordenar las fechas cronológicamente, hay que usar el formato YYYY-MM-DD, pero como guardaste las fechas de la forma DD-MM-YYYY, entonces lo que hago es extraer los componentes de la fecha (año, mes y día) y pásarselos al ORDER BY. Generalmente, al ORDER BY se le pasa una o más columnas para ordenar las filas (Ej: ORDER BY apellido,rut, quiere decir que si hay varias personas que tienen el mismo apellido, entonces las filas que contienen el mismo apellido se ordenan por RUT). En este caso, no se pasan columnas al ORDER BY, sino cadenas extraídas de la columna fecha; así que sería similar a usar algo como ORDER BY año, mes, día, donde año, mes y día son sub-cadenas extraídas de una cadena más grande. Así que, en este caso, "recorto" los componentes de cada fecha y se los paso al ORDER BY en el orden que me interesa (año, mes y día). :huasonto: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now