![]() |
Ordenar fechas ya convertidas Hola, buenos días. Mi duda es la siguiente. Tengo una base de datos en el que mi jefe me pidió que realizara una consulta con fechas del tipo siguiente: "1 de Diciembre del 2007". Bueno, pues leyendo un poco, conseguí hacerlo gracias a los CONVERT que tiene SQL Server. De este modo se tendría: select distinct convert(varchar(11),d.insertDate,13) as insertDate from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by insertDate desc La consulta funciona perfectamente y hace lo que pido. El problema es que las fechas tienen que estar ordenadas, por lo que ya existe un fallo en la consulta, pues la fecha, en lugar de estar ordenada por fechas, lo hace por orden alfabético :'(. Esto es: 24 Abr 2002 14 Dic 2007 11 Dic 2007 09 Oct 2007 03 Dic 2007 01 Mar 2002 En lugar de: 14 Dic 2007 11 Dic 2007 03 Dic 2007 09 Oct 2007 24 Abr 2002 01 Mar 2002 La duda es ¿hay alguna manera de hacerlo que no sea muy traumática con ese formato? Porque estoy por pedirle a mi jefe de dejarlo en formato 01/12/2007, que ese sí funciona correctamente. Muchas gracias y un saludo. |
Re: Ordenar fechas ya convertidas Prueba así: select distinct convert(varchar(11),d.insertDate,13) as FechaInsertada from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by insertDate desc saludos |
Re: Ordenar fechas ya convertidas Cita:
select distinct d.insertDate, convert(varchar(11),d.insertDate,13) as FechaInsertada from documents a, documentsl b, documentsfiles c, files d where a.idDocument = b.idDocument and b.idDocument = c.idDocument and enable = 1 and c.idFile = d.idFile order by d.insertDate desc Sé que hago un select de dos columnas, la del alias (FechaInsertada) y la real, ya que si no, el order by necesita que el nombre de las columnas esté en la selección. Saludos y gracias. |
| La zona horaria es GMT -6. Ahora son las 09:03. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.