| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
rockfavc Cmdr


Registrado: 23 Ago 2002Mensajes: 138Ubicación: Colombia (Medellín)
|
Publicado: Mar 21 Ene, 2003 3:57 pm Asunto: Problemas con ORDER BY |
|
|
Hola Amigos del foro!! espero que estes comenzando el año con pie derecho.
Actualmente tengo un problema con un query, en realidad es el ordre by.
Es lo siguiente:
En una base dedatos se graban registros de un sistema de tiempo real, Codigo, fecha, hora, estado. En la tabla se graban en el orden que suceden los eventos.
Esta informacion quiero presentarla en un DBGrid pero de tal forma que el ultimo registro insertado en la tabla es el primero que se visualiza en el DBGrid, por esto es necesario usar un ORDER BY CAMPO DESC.
El problema radica que si tengo la siguiente informaicon en la tabla:
CODIGO FECHA HORA ESTADO
123 20/01/2003 4:30:26 0
0 20/01/2003 4:30:47 1
0 20/01/2003 4:30:47 0
63 20/01/2003 4:30:47 1
0 20/01/2003 4:30:47 1
0 20/01/2003 4:30:48 0
63 20/01/2003 4:30:48 0
123 20/01/2003 4:30:48 1
cuando hago el siguiente query
Select Codigo, fecha, hora, estado from tabla
where fecha = '01/20/2003'
order by hora desc
obtengo el siguiente resultado
CODIGO FECHA HORA ESTADO
0 20/01/2003 4:30:48 0
63 20/01/2003 4:30:48 0
123 20/01/2003 4:30:48 1
0 20/01/2003 4:30:47 1
0 20/01/2003 4:30:47 0
63 20/01/2003 4:30:47 1
0 20/01/2003 4:30:47 1
123 20/01/2003 4:30:26 0
Creo que no toma en cuenta los milisegundos, los cuales si los estoy utilizando en el momento de grabar el dato, pero no se como hacer para que los tenga en cuenta en el query.
Alguien tien alguna idea de como debo hacerle para obtener el resultado adecuado.
Muchas gracias.
Andres |
|
| Volver arriba |
|
 |
luis Invitado
|
Publicado: Mar 21 Ene, 2003 5:57 pm Asunto: |
|
|
| En vez de guardar en la base de datos la hora exacta en formato "dd/mm/yy hh:mm:ss", podrias guardarlo en un formato numerico que te da mayor precision y facilidad a la hora de ordenar y buscar, por ejemplo, el que te da la funcion "ftime". |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 21 Ene, 2003 9:37 pm Asunto: |
|
|
separa el cambo fecha en dos campos y ordenalos
fecha y hora _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Niteman Lt

Registrado: 19 Dic 2002Mensajes: 92Ubicación: Sant Boi (Barcelona)
|
Publicado: Mie 22 Ene, 2003 8:23 am Asunto: |
|
|
Hola.
No se si tienes un Campo Integer que sea un índice (el tipico campo ID) que aumenta en cada registro ¿Por qué no lo usas? Siempre será más facil usarlo para ordenar.
Salu2 |
|
| Volver arriba |
|
 |
rockfavc Cmdr


Registrado: 23 Ago 2002Mensajes: 138Ubicación: Colombia (Medellín)
|
Publicado: Mie 22 Ene, 2003 2:35 pm Asunto: |
|
|
Hola a todos, Muchas gracias por sus respuestas.
Finalmente opté por el campo consecutivo, porque definitivamente los milisegundos no se tienen en cuenta en el momento de hacer un query.
Otra solucion (No la hice) podia ser grabar los milisegundos en un campo entero, porque de todas maneras al hacer un decodetime al campo, presenta que si estan los milisegundos correctamente.
Muchas gracias a todos, y por ahora CASO CERRADO.
felices dias
Andres |
|
| Volver arriba |
|
 |
|