Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Order By en Oracle

Estas en el tema de Order By en Oracle en el foro de Oracle en Foros del Web. Forianos, llamo a una lista de fecha de la siguiente forma select to_char(fecha,'dd-mm-yyyy') from tabla1 where fecha > trunc(systade-30); order by order by to_char(fecha,'dd-mm-yyyy') desc ...
  #1 (permalink)  
Antiguo 16/03/2011, 07:16
 
Fecha de Ingreso: febrero-2011
Mensajes: 100
Antigüedad: 13 años, 10 meses
Puntos: 0
Order By en Oracle

Forianos, llamo a una lista de fecha de la siguiente forma

select to_char(fecha,'dd-mm-yyyy') from tabla1 where fecha > trunc(systade-30);
order by order by to_char(fecha,'dd-mm-yyyy') desc

esto me devuelve las ultimas 30 fechas pero me las trae de la siguiente forma

28-02-2011
27-02-2011
26-02-2011
24-02-2011
23-02-2011
18-02-2011
17-02-2011
15-03-2011
14-03-2011
14-02-2011
13-03-2011
12-03-2011
11-03-2011
10-03-2011
09-03-2011
08-03-2011
07-03-2011
04-03-2011
02-03-2011
01-03-2011


si se fijan me las trae bien pero las ordena por dia y no por meses, yo quiero que las ordene de la siguiente forma

14-02-2011
17-02-2011
18-02-2011
23-02-2011
24-02-2011
26-02-2011
27-02-2011
28-02-2011
01-03-2011
02-03-2011
04-03-2011
07-03-2011
08-03-2011
09-03-2011
10-03-2011
11-03-2011
12-03-2011
13-03-2011
14-03-2011
15-03-2011


Se que en PHP se puede hacer esto si ordeno mediante un arreglo, pero quiero saber si en oracle se puede

gracias
  #2 (permalink)  
Antiguo 16/03/2011, 09:12
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 10 meses
Puntos: 89
Respuesta: Order By en Oracle

Es que al convertir la fecha a cadena de caracteres te lo ordena alfabeticamente. Si quieres convertirla a char antes de ordenar, tendrás que utilizar el formato americano (AAAAMMDD) si no siempre puedes ordenar sin convertir a char


Código SQL:
Ver original
  1. SELECT to_char(fecha,'dd-mm-yyyy')
  2. FROM tabla1
  3. WHERE fecha > trunc(systade-30);
  4. ORDER BY fecha DESC

Etiquetas: order
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.