![]() |
Buscar con campos DATE
Hola. Tengo una tabla en Firebird v1.5 que posee un campo fecha que almacena la fecha y la hora.
El problema es que quiero hacer una consulta SQL para obtener todos los registros de una fecha concreta independientemente de la hora, pero no devuelve nada. Código:
select * from mensajes where fecha = "11/25/04" He probado con: Código:
select * from mensajes where CAST(fecha as DATE) = "11/25/04" ¿Como puedo hacer para que me compare sólo la fecha con independencia de la hora almacenada en el mismo campo? Salu2. |
Solucionado
Nada. Ya encontré el problema. Es que tengo la base de datos con el dialecto 1 y por eso no funciona ya que no existe el DATE. Quizás debería cambiarme al dialecto 3. ¿Alguien sabe que problemas podría darme cambiar el dialecto de la base de datos al 3?
Gracias. |
yo tambien la tengo en dialecto 1
provaste con
select * from mensajes where fecha = '11/25/04' ... |
Si, eso funciona siempre que la hora no haya sido almacenada, es decir, si defino el campo de tipo fecha y cuando guardo el dato en el campo no especifico la hora, entonces lo que comentas funciona perfectamente. El problema está cuando se especifica fecha y hora y se almacenan ambos datos en el mismo campo. Entonces ya no funciona. De todas formas, como sólo me ocurre en una tabla concreta para una cosa particular poco importante, puedo hacer la comparación extrayendo del campo fecha el mes el día y el año de forma independiente y comparándola con la fecha a buscar. Lo he probado y así funciona bien.
Salu2. |
y con :
select * from mensajes where fecha between '11/25/04 00:00:00' to '11/25/04 23:59:59' |
La franja horaria es GMT +2. Ahora son las 09:25:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi