Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   filtrar fecha y/o hora en un campo timestamp (https://www.clubdelphi.com/foros/showthread.php?t=66410)

CarlosHernandez 18-02-2010 17:19:20

filtrar fecha y/o hora en un campo timestamp
 
buenos dias

tengo un campo de tipo timestamp, alli se alamacena una hora con la fecha ejemplo '12/02/2010 01:12:27 p.m.' existe manera alguna de solo hacer una busqueda bien sea por fecha unicamente o por hora solamente

es decir todos los registros del dia 12/02/2010,
o las horas comprendia desde las 09:00:00 am hasta las 10:00:00 a.m.

antes las tenia en campos distintos, fecha en un campo tipo date y hora en un campo tipo time, pero al momento de restar las horas de dias distinto era un problema por eso las unifique.

intente hacerlo asi pero no funciono, no me devuelve ningun registro
horae es el campo timestamp y acceso es el nombre de la tabla

Código:

with tabla.IBQAcceso do
          begin
            close;
            SQL.Clear;
          sql.Add('select * from acceso where horae like '+QuotedStr(edit1.Text)+'');
            Prepare;

            open;
          end;
end;

esto esta en delphi 2007 y firebird 2.1

guillotmarc 18-02-2010 18:03:52

Hola, tienes que extraer solo la parte que te interesa del campo, en el momento de compararlo con los valores que buscas.

La consulta que pones de ejemplo seria :

select *
from acceso
where cast(horae as date) = '2010-12-02' or cast(horae as time) between '9:00:00' and '10:00:00'

Saludos

CarlosHernandez 18-02-2010 18:09:28

listo
 
funciona a la perfeccion, gracias hermano


La franja horaria es GMT +2. Ahora son las 07:51:48.

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