Ordenar ascendente o descendente

yoymynoe
14 de Junio del 2004
hola a todos un pequeño problema con un ordenacion.El caso es que tengo que ordenar descendentemente una serie de datos por la fecha
y para ello en utilizo la clausula order by fecha DESC.Imaginaos que tengo estas dos fechas 13/05/04 y 12/06/04.Segun yo lo he hecho primero me muestra la fecha 13/05/04 y luego 12/05/04 que esta bien por que lo ordena descendentemente pero basandose en el dia,mientras lo que yo quiero es que primero me mostrara la fecha 12/06/04 y luego 13/05/04 es decir necesitaria que se basase en el mes para hacer la ordenacion que puedo hacer?

gabriel
14 de Junio del 2004
Seguramente el campo de las fechas no lo definistes como formato fecha. Si es SQL Server te sugiero mandarlos a una tabla temporal en la cual ese campo lo tengas definido como Datetime y luego hagas un select de dicha temporal tabla.
Te paso un ejemplo(si no te anda con 31/12/2004 probá con 12/31/2004

Esto lo tenes que hacer con tu dato de la tabla:
select Convert(DateTime,'31/12/2004', 103) as 'fecha'

y esto para mostrar.
Select (Convert(Char(14), fecha , 103))
order by fecha asc/desc

y ordena por el campo fecha

Suerte.
Gabriel.