FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Convertir fecha en un Where
Que tal?
Tengo un problema relacionado con las fechas... Uso delphi 5 con MySql, y guardo las fechas como cadenas, no propiamente como fechas. El problemas me surgio al querer hacer un reporte de una fecha inicial a otra final, ya que al querer jalar la fecha guardada, viene en cadena y no la puedo comparar con la fecha de un DateTimePicker. Y si las comparo como cadenas, han de saber que "27/04/2008" no es mayor que "29/03/2008". Entonces me veo en la necesidad de compararlas forzosamente como fechas y no como cadenas. Código Delphi [-] Query.sql.text:='select * from viajes where Fecha>=datetostr("'+DateTimePicker.date+'")'; Query1.execSql; Esta consulta, como le decia, no me devuelve los valores correctos, ya que algunas fechas del resultado realmente no son mayores a las del DateTimePicker. Mi idea era hacer algo como: Código Delphi [-] Query.sql.text:='select * from viajes where strtodate(Fecha)>="'+DateTimePicker.date+'")'; Query1.execSql; O sea, convertir en ese momento la fecha que estoy jalando, pero me salta un error. Agradezco su atencion. |
#2
|
||||
|
||||
Hola Enriquelán, no te sería mas facil cambiar el tipo de dato a tu campo, la verdad no es normal que a una fecha le pongas como cadena, strtodate no te funcionara porque es una función de Delphi y no de Mysql.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#3
|
|||
|
|||
Gracias, caro!
Lo que pasa es que ya tengo mucha informacion en ese campo. Al cambiarla, se pierde y tengo que volver a meterla manualmente. Ademas MySql solo ofrece un formato de fecha y no es con el que he venido trabajando, por lo cual tendria que cambiar todo. Y seguro tambien tendre que cambiar el formato de fecha en el panel de control de windows para que quede igual que el de mysql, verdad? Muchas gracias por tu ayuda! |
#4
|
||||
|
||||
Podrías utilizar parámetros y de esa forma no tendrías que hacer ninguna conversión:
"ExecSQL" se utiliza solo para consultas de modificación (Insert, delete, update...), "Open" se utiliza para consultas normales "Select"
__________________
|
#5
|
|||
|
|||
Man para eso usa el Formatdatatime , sino nunca te saldra , te mando un ejemplo
dateforchancenow:=now; variable a pasar la fehca de tipo tdatetime formatdatenow:=formatdatetime('mm-dd-yyyy',dateforchancenow); //Asignamos el formato a la Variable de la fecha a Utilizar de tipo string; luego en where la pones a validar el formatdatenow . EL formato puede ser difirente, eso depende de la base de datos a usar , puede ser ('dd/mm/yyyy') , es la mas comun. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
convertir fecha en la senetencia sql.. | uper | SQL | 2 | 01-02-2006 18:20:13 |
convertir una fecha | electrica | Oracle | 3 | 07-12-2005 19:40:41 |
convertir formatos fecha | davidgaldo | Varios | 4 | 09-11-2005 15:49:35 |
Convertir texto a fecha | magm2000 | SQL | 2 | 11-10-2005 16:22:40 |
Convertir milisegundos a fecha | andre | Varios | 5 | 07-07-2003 19:55:58 |
|