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

Como puedo ordenar por Fecha

Estas en el tema de Como puedo ordenar por Fecha en el foro de Oracle en Foros del Web. El formato con el estan insertados todas las fechas en el campo FECHA es dd/mm/aa, por ejemplo; 14/09/13. El problema es que al listar 2 ...
  #1 (permalink)  
Antiguo 14/09/2013, 12:29
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 3
Pregunta Como puedo ordenar por Fecha

El formato con el estan insertados todas las fechas en el campo FECHA es dd/mm/aa, por ejemplo; 14/09/13.

El problema es que al listar 2 años distintos, no funciona.
Código SQL:
Ver original
  1. SELECT to_char(FECHA, 'MM/yy' ) AS FR, COUNT(FECHA) AS CANTIDAD
  2. FROM mitabla
  3. WHERE FECHA > TO_DATE('09/12','MM/YY') GROUP BY to_char(FECHA, 'MM/yy' ) ORDER BY to_char(FECHA, 'MM/yy' )
El resultado de esta consulta la coloco en un pantallazo (abajo)

Última edición por gnzsoloyo; 14/09/2013 a las 16:53
  #2 (permalink)  
Antiguo 15/09/2013, 14:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como puedo ordenar por Fecha

Hola gloton

No se a que te refieres con listar 2 años distintos. Que es lo que no funciona?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 15/09/2013, 18:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Como puedo ordenar por Fecha

Cita:
Iniciado por huesos52 Ver Mensaje
Hola gloton

No se a que te refieres con listar 2 años distintos. Que es lo que no funciona?
Si, aunque para ser mas precisos, me gustaria ordenar los registros, sea un año o mas.

Me editaron el pantallazo asi que pongo el enlace directo
http://imageshack.us/a/img821/8938/cwna.jpg

Por ejemplo, quiero listar los ultimos 15 meses, es decir, el primer mes sera del 2012, y el ultimo sera agosto 2013, entonces seran una lista con 2 años distinto, pero tal como se muestra en la imagen, me los ordena por mes, entonces pone uno detras del otro, el septiembre del 2013 con septiembre del 2012

Última edición por Gloton; 15/09/2013 a las 18:50
  #4 (permalink)  
Antiguo 15/09/2013, 19:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como puedo ordenar por Fecha

Cita:
me los ordena por mes, entonces pone uno detras del otro, el septiembre del 2013 con septiembre del 2012
Porque eso es lo que estás indicando al poner:
Código SQL:
Ver original
  1. ORDER BY to_char(FECHA, 'MM/yy' )
De ese modo, transformas una fecha en una cadena de texto, tal qu eprimero van los meses con dos cifras y luego el año. es decir tu mismo le estás diciendo que lo orden easí.
Si quisieras ordenar por año y luego por mes, deberías indicarlo al revés:
Código SQL:
Ver original
  1. ORDER BY to_char(FECHA, 'yy/mm' )
Aunque yo en realidad lo haría:
Código SQL:
Ver original
  1. SELECT
  2.     to_char(FECHA, 'MM/yy' ) FR,
  3.     COUNT(FECHA) CANTIDAD
  4. FROM mitabla
  5. WHERE
  6.     FECHA > TO_DATE('09/12','MM/YY')
  7. GROUP BY to_char(FECHA, 'MM/yy' )
  8. ORDER BY to_number(to_char(FECHA, 'mm' )), to_number(to_char(FECHA, 'yyyy' ))
Por cierto: es muy conveniente que uses los años con cuatro cifras y no con dos. Se dejó de usar las fechas con dos cifras desde hace más de una década, por su resultado inseguro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: año, fecha
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 15:39.