| |||
ordenar fechas con formato Lunes 00/00/0000 Buenas y santas. Tengo una base de datos mysql y estoy trabajando con php. La cuestion es que estoy rabeando con ordenar en sentido descendente las fechas en formato Lunes 00/00/0000 que llamo de una consulta a la base de datos desde mi php. El campo de la bd se llama 'fecha' y esta en VARCHAR. He recorrido millones de foros pero no he logrado dar en la tecla. Por favor necesito una mano. Desde ya muchas gracias por todo lo que puedan hacer por mi. |
| |||
Respuesta: ordenar fechas con formato Lunes 00/00/0000 Hola tvzbien, Seguramente tendras causas justificables para almacenar las fechas de esa forma. Con la información que indicas quizás algo como http://sqlfiddle.com/#!2/fe3c3/1 pueda ayudarte. |
| |||
Respuesta: ordenar fechas con formato Lunes 00/00/0000 A pesar de que la solución que te da wchiquito es excelente, para salir del paso, lo que no es optimo es guardar fechas con ese formato, es mucho mejor guardar la fecha en el formato nativo yyyy-mm-dd y luego usar las Date and Time Functions para obtener la fecha en el formato deseado. Si por lo que sea entra la fecha "Lunes 1/1/2012" no se va a leer bien (las 10 ultimas posiciones son "s 1/1/2012") y nada te asegura que sea coherente (el 1/1/2012 no era lunes) en cambio si entra la fecha 2012-01-01 fácilmente puedes listar "Domingo 01/01/2012" y tienes todo el soporte del motor para controlar fechas....
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. Última edición por quimfv; 02/04/2012 a las 02:09 |
| |||
Respuesta: ordenar fechas con formato Lunes 00/00/0000 Asi es wchiquito, por que importo datos de otra bd que tiene el formato de ese modo y esta guardada la fecha en VARCHAR. Con respecto a tu ayuda la verdad que no alcanzo a entender el codigo, he probado pero no he prosperado. Por ej que serian las `d`? en SELECT `d`.`id`, `d`.`fecha` . Aclaro que la consulta la debo hacer en PHP. Me podrias explicar como funciona ese codigo asi lo adapto al mio. Muchas gracias de antemano por tu tiempo. |
| |||
Respuesta: ordenar fechas con formato Lunes 00/00/0000 Hola tvzbien, Lo primero que debes tener presente es el comentario de quimfv, se debe garantizar que los últimos 10 caracteres corresponderan a una fecha, con el formato dd/mm/aaaa. Si estas importando los datos de otra fuente como otra base de datos, deberías transformar dicha columna al tipo correcto que necesites (por ejemplo: DATE) y almacenarla así en tu base de datos y no heredar problemas de terceros. En cuanto a la consulta, `d` es un alias a la tabla derivada que se genera en el WHERE, por lo que `d`.`fecha` esta haciendo referencia a la columna `fecha` de dicha tabla derivada. Espero te sea útil. |
Etiquetas: |