Tengo un montón de tareas en una base de datos MySQL, y uno de los campos es "fecha límite". No todas las tareas tienen que tener una fecha límite.Posible usar SQL para ordenar por fecha pero poner fechas nulas en la parte posterior del conjunto de resultados?
Me gustaría utilizar SQL para ordenar las tareas por fecha de vencimiento, pero pongo las que no tienen una fecha límite en la parte posterior del conjunto de resultados. Como está ahora, las fechas nulas aparecen primero, luego el resto se ordena por fecha de plazo más temprano a más reciente.
¿Alguna idea sobre cómo hacer esto con SQL solo? (Puedo hacerlo con PHP si es necesario, pero una solución solo SQL sería genial.)
¡Gracias!
+1. Aquí hay otra solución estándar elegante y compacta (disponible desde [SQL: extensión 2003 T611] (http://en.wikipedia.org/wiki/Order_by), aunque no todos los proveedores implementan esta funcionalidad): http://stackoverflow.com/ a/12767777/814702. – informatik01
@ informatik01, buen consejo, pero esta pregunta está etiquetada como 'mysql' y MySQL no admite esa sintaxis. –
@BillKarwin Sí, triste. Solo comprobé esto en PostgreSQL 9.1, donde funciona muy bien. De todas formas, deja que esta información esté aquí solo para completar. PD Recién noté que al usar 'ORDER BY' MySQL y PostgreSQL se comportan de manera diferente: al ordenar * ascendente * MySQL pone los valores NULL ** primero **, mientras que PostgreSQL pone los valores NULL ** último **. Bueno, algo específico del proveedor ... – informatik01