Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2008
Avatar de tonycol1984
tonycol1984 tonycol1984 is offline
Registrado
 
Registrado: dic 2006
Ubicación: Jalisco, Mexico
Posts: 9
Poder: 0
tonycol1984 Va por buen camino
Problema, no ordena por fechas :(

hola, que tal? Disculpen, tengo un problema.... Lo que pasa es que tengo en el query la parte de "ORDER BY Fecha DESC", pero no lo organiza bien del todo. Lo que pasa es que genero reportes por fecha de toda la info que tengo en mi sistema, y por ejemplo, para ventas, si tengo 4 ventas y quiero que sean mostrados acomodados x fecha en el siguiente orden: 23/08/2008, 12/10/2008, 19/10/2008 y 06/11/2008... me los muestra de esta forma: 23/08/2008, 19/10/2008, 12/10/2008 y 06/11/2008. O sea que el mes esta ordenado de forma correcta, pero el dia de forma inversa, y por ejemplo para mostrar el inventario por fecha, es lo mismo, aparte de que los ultimos registros estan en desorden... no se que hacer, mis tablas son paradox y uso queries para acomodar este business... Es lo único que me falta para terminar mi sistema, alguna ayuda? jajaja se los agradeceria de todo corazón

Saludos!

ToNyCoL...
Responder Con Cita
  #2  
Antiguo 21-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
Estas seguro que este campo es de tipo DATE, segun lo que puedo ver con tu ejemplo es de tipo texto
Responder Con Cita
  #3  
Antiguo 21-11-2008
Avatar de Alexandro
Alexandro Alexandro is offline
Miembro
 
Registrado: mar 2008
Ubicación: Mayarí Holguín Cuba
Posts: 127
Poder: 17
Alexandro Va por buen camino
Creo que hecospina tiene razón, deberias ver que el campo es DATE y no ALPHA. Cualquier duda nos informas
__________________
Cuando las cosas van mal, recuerda que aún pueden ir peor
Responder Con Cita
  #4  
Antiguo 23-11-2008
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
También puedes utilizar:
Código SQL [-]
   ORDER BY DATE_FORMAT(fecha, "%Y%m%d")
Donde:
fecha -> el campo fecha de tu tabla
%Y ---> el año con cuatro dígitos
%m ---> el mes con dos dígitos
%d ---> el día con dos dígitos
Saludos
Salvica
Responder Con Cita
  #5  
Antiguo 24-11-2008
Avatar de tonycol1984
tonycol1984 tonycol1984 is offline
Registrado
 
Registrado: dic 2006
Ubicación: Jalisco, Mexico
Posts: 9
Poder: 0
tonycol1984 Va por buen camino
Hola, ya encontré la solución

Gracias a todos por haberme ayudado, primero que nada los tenia tipo alpha (y no recuerdo porque los tenia de tipo alpha :P), pero total que los cambie a date y ahora me seguía marcando otro error en type mismatch o algo asi.... Ah! porque para mostrar solo los reportes entre el rango de fecha, los almaceno en una tabla temporal, y al llenar esa tabla me marcaba error con el query en la parte "WHERE Fecha LIKE '20/12/2008'"... Lo primero que hice fue cambiar la configuracion regional en la computadora, para que fuera como la notacion en ingles (12/20/2008) y no funcionaba tampoco, ademas, pues... ni modo que tuviera la fecha como los americanos la leen si el software va a ser usado en mexico, verdad? :P Así que lo que hice fue volver a ponerla como es en latinoamerica y en el query si la buscaba como la americana, ya aparte en vez de "LIKE" escribi "=" y ahora sí ya salió. Entonces el query quedo así:

SELECT * FROM tabla
WHERE Fecha = "12/20/2008"

Y ya en el qreport me muestra la fecha normal (20/12/2008)... Esta raro, no? Es un show con eso de los formatos, pero al fin lo logre :P Saludos a todos y gracias ñ_ñ
Responder Con Cita
  #6  
Antiguo 24-11-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
Debes tener en cuenta que LIKE solo funciona para campos que sean de tipo texto, no te van a funcionar para campos numericos ni para fecha, por eso era el error que te marcaba
Lo del formato de fecha es extraño, lo importante es que funcione
Responder Con Cita
  #7  
Antiguo 24-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Es muy normal que el motor use el formato de fecha mm/dd/yyyy, algulnos motores si pones 02/01/2008 pueden interpretar tanto el 1 de febrero como el 2 de enero, lo mejor es usar parámetros:
Código Delphi [-]
query1.sql.text := 'select * from fecha where fecha = :mifecha';
query1.parambyname('mifecha').AsDate := trunc (datetimepicker1.date);
query1.Open;

// otra forma:
query1.sql.text := 'select * from fecha where fecha between fechaini and :fechaFin';
query1.parambyname('fechaini').AsDate := trunc (datetimepicker1.date);
query1.parambyname('fechaFin').AsDate := trunc (datetimepicker2.date);
query1.Open;


Si un campo es numérico, puedes usar un truco:
Código SQL [-]
select * from tabla 
where cast(camponumerico as varchar(100)) like '%32%'
Creo que funcionaría aunque no lo he probado.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
El table no me ordena correctamente rmenor Firebird e Interbase 3 02-11-2007 21:07:00
Problema en fechas egarc SQL 8 04-06-2007 21:31:56
como ordena delphi los fields de un objeto oworty OOP 3 27-01-2005 15:47:53
Problema con fechas davidgaldo Conexión con bases de datos 2 30-07-2004 15:50:42
Problema Con Fechas En Bd davidgaldo Conexión con bases de datos 2 20-02-2004 12:47:05


La franja horaria es GMT +2. Ahora son las 11:33:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi