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

Ordenar por Hora

Estas en el tema de Ordenar por Hora en el foro de Oracle en Foros del Web. Hola que tal soy nuevo en esto y estoy intentando ordenar una lista por id y dentro de cada elemento de la lista tengo otra ...
  #1 (permalink)  
Antiguo 26/04/2011, 09:59
Ltd
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Ordenar por Hora

Hola que tal soy nuevo en esto y estoy intentando ordenar una lista por id y dentro de cada elemento de la lista tengo otra lista que deseo ordenar por hora, pero no eh podido lograr ordenar la lista interna por hora -.- alguien podria ayudarme ?

aqui muestro mi consulta
String queryString = "select distinct (model) " +
"from Channel model left join fetch model.programas p where TO_CHAR(TRUNC(p.skeAirDateTime)) = TO_CHAR(TRUNC((:fecha)))" +
" AND model.category = 13 ORDER BY model.cnlId, to_date(p.skeAirDateTime) asc";
  #2 (permalink)  
Antiguo 26/04/2011, 12:27
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Ordenar por Hora

Hola Ltd:

Antes que nada, una recomendación para cuando publiques algún post en este foro: no mezcles lenguajes, el foro es de ORACLE, por lo que se esperaría que colocaras sólo código SQL (PL-SQL). sin embargo en tu post está mezclado con algún lenguaje de programación, C#, Java, JSP o algo por el estilo. Evita en un futuro esta práctica.

Ahora bien, entrando en materia, no mencionas cuál es la estructura de tus tablas, pero puedo suponer que tu campo p.skeAirDateTime es de tipo datetime y es justamente por el que quieres ordenar. Puedes intentar poner esto en el order by:

Código SQL:
Ver original
  1. ORDER BY
  2. model.cnlId,
  3. TO_DATE(TO_CHAR(p.skeAirDateTime, 'hh24:mi:ss'), 'hh24:mi:ss')

Con esto de debería ordenar por hora, SIN CONSIDERAR LA FECHA. Haz la prueba y nos comentas.

Saludos
Leo.
  #3 (permalink)  
Antiguo 26/04/2011, 12:52
Ltd
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Ordenar por Hora

perdon por mesclarlos.

Gracias por responder pero Me sigue saliendo desordenados -.- el campo p.skeAirDateTime es datetime y tiene este formato skeAirDateTime":"2011-03-02T10:30:00-07:00

la lista de canales si esta ordenada por Id, pero dentro de cada eleemento de la lista existe otra lista que es de programas y estos son los que quiero ordenar por hora, aca muestro un ejemplo del resultado:


Código:
{
   "canales":[
      {
         "category":{
            "catId":"13",
            
         },
         "cnlId":"604", 
         
         "programas":[
            {
               "descripciones":{
                  "proDatabaseKey":"M020",
                 
               },
               "skeAirDateTime":"2011-03-02T10:30:00-07:00",
               
               "skeStationNum":"604"
            },
            {
               "descripciones":{
                  "proDatabaseKey":"M00",
                 
               },
               "skeAirDateTime":"2011-03-02T02:00:00-07:00",
               
               "skeStationNum":"604"
            },
            
            {
               "descripciones":{
                  "proDatabaseKey":"MV001072080000",
                 
               },
               "skeAirDateTime":"2011-03-02T00:00:00-07:00",
               
               
               "skeStationNum":"604"
            },
            
            
            {
               "descripciones":{
                  "proDatabaseKey":"MV000275050000",
                  
               },
               "skeAirDateTime":"2011-03-02T03:45:00-07:00",               
               "skeStationNum":"604"
            }
         ]
      },
      {
         "category":{
            "catId":"13",
            
         },
         "cnlId":"605",
         "programas":[
            {
               "descripciones":{
                  "proDatabaseKey":"6060000",
                  
               },
               "skeAirDateTime":"2011-03-02T21:30:00-07:00",
               "skeDatabaseKey":"MV000",               
              
            },            
            {
               "descripciones":{
                  "proDatabaseKey":"MV000",
                  
               },
               "skeAirDateTime":"2011-03-02T07:45:00-07:00",
               "skeDatabaseKey":"MV001191470000",               
               "skeStationNum":"605"
            },
            {
               "descripciones":{
                  "proDatabaseKey":"M0000",
                  
               },
               "skeAirDateTime":"2011-03-02T03:00:00-07:00",
               "skeDatabaseKey":"MV001457770000",               
               "skeStationNum":"605"
            },
           
         ]
      },
      
            
         ]
      }
   ]
}
  #4 (permalink)  
Antiguo 27/04/2011, 12:43
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Ordenar por Hora

Pon algunos datos de ejemplo de tus tablas y un ejemplo de lo que esperas de salida, para poder revisar la consulta

Saludos
leo.
  #5 (permalink)  
Antiguo 04/05/2011, 14:35
Ltd
 
Fecha de Ingreso: abril-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Ordenar por Hora

eale, la consulta estaba bien el problema era que la lista era de tipo Set y el set no ordena nada, cambie a Arraylis y todo funciono

Etiquetas: Ninguno
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:40.