Delphi, Acces, Fechas y SQL
Hola qué tal a todos.
Tengo el siguiente problema, espero alguien pueda ayudarme. Tengo una base de datos Access a la cual accedo desde delphi perfectamente; sin embargo, cuando trato de hacer consultas sql que impliquen el uso de FECHAS todo se vuelve un desastre. Intento realizar una busqueda entre un rango de fechas y no me devuelve ningun resultado. Por ejemplo Intente con esto: SELECT * FROM PROYECTOS WHERE FECHAINICIO BETWEEN #31/08/2004# AND #09/09/2004# con esto SELECT * FROM PROYECTOS WHERE FECHAINICIO BETWEEN '31/08/2004' AND '09/09/2004' Igual las combine y nada. Alguien sabe como puedo solucionar esto. En ocasiones si me devuelve datos pero son erróneos. Desde ya agradezco todas sus respuestas:cool: |
En SQL el formato de fechas es mm/dd/yyyyy. Si utilizas parámetros te ahorras este problema.
Un Saludo. |
Ya lo he hecho
Pues mira, ya he intentado igualmente con el formato "mm/dd/yyyy" y no me funciona.
Cita:
|
He creado el siguiente ejemplo conectándome con ADO y funciona sin ningún problema.
Un Saludo. |
Fechas
Como ha dicho Marcos el formato es #mm/dd/yyyy#. Yo he usado la misma sentencia y me ha funcionado. Con la aclaracion de que el campo fecha declarado en mi BD es una fecha corta. Intenta esto, sino para es este foro,para preguntar.
Saludos Código:
|
Si, pero...
Hola
¿Cual es el procedimiento para utilizar el formato dd/mm/yyyy en las consultas de access; y sin necesidad de cambiar la configuracion del sistema operativo?, Utilizando parametros sería una forma, pero no hay una manera directa de decirle a access Select * from tabla where fecha=#24/06/2005# ???? Un saludo y Gracias por anticipado. |
la función formatdatetime podría funcionar
|
Con SQL podemos formatear el campo de la fecha a yyyyMMdd de forma que se puedan comparar como si fueran cadenas. Este truco lo vengo utilizando desde hace mucho tiempo y no me ha dado errores:
select * from tabla where format(campo, 'yyyyMMdd') >= format(parametro_ini, 'yyyyMMdd') and format(campo, 'yyyyMMdd') <= format(parametro_fin, 'yyyyMMdd') Donde parametro_ini y parametro_fin seran dos parámetros que le puedes pasar al TQuery desde programa. |
format(campo,'ddmmyyyy') no me funciona en SQL Server
me dice que la función format no es un nombre de función conocido.... ¿existe algo similiar para SQL Server? |
La franja horaria es GMT +2. Ahora son las 16:15:18. |
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