clausula WHERE de una consulta ???
El detalle es este, quiero sacar en una consulta, los registros de una tabla que se generaron
en un cierto horario.
En un principio, los periodos eran HORAS de un mismo dia, por ejemplo, de las 06:00:00 a las 14:00:00
del dia 15-07-2009 .... ahi no habia problemas,
Consulta original :
Consulta.SQL.Text := 'SELECT Telefono, Domicilio, HServicio, Fecha '+ 'FROM tslocaleshist '+ ' WHERE ((HServicio BETWEEN '+ QuotedStr(FormatDateTime('hh:nn:ss',DTPHoraI.Time)) +' AND ' + QuotedStr(FormatDateTime('hh:nn:ss',DTPHoraF.Time))+ ') and (Fecha = ' + QuotedStr(FormatDateTime('yyyy-mm-dd',DTPFechaI.Date))+' ) order by Fecha, HServicio';
Pero ahora, cambiaron los horarios de trabajo, y empiezan en la noche de un dia y terminan en la mañana del dia siguiente...
como se podria hacer la consulta ???
esto fue lo primero que se me ocurrio...
Consulta.SQL.Text := 'SELECT Telefono, Domicilio, Halcon, HServicio, Fecha FROM tslocaleshist '+ ' WHERE ((HServicio >= '+ QuotedStr(FormatDateTime('hh:nn:ss',DTPHoraI.Time)) +' AND Fecha >= ' +QuotedStr(FormatDateTime('yyyy-mm-dd',DTPFechaI.Date)) +') AND (HServicio <='+ QuotedStr(FormatDateTime('hh:nn:ss',DTPHoraF.Time))+ ' and Fecha <= ' + QuotedStr(FormatDateTime('yyyy-mm-dd',DTPFechaF.Date)) + ')) order by Fecha, HServicio';
pero no funciona.. nunca se cumplen las condiciones ...
asi que lo que intento ahora es comparar con la hora y fecha juntas
es decir algo como ....
Consulta.SQL.Text := 'SELECT Telefono, Domicilio, Halcon, HServicio, Fecha FROM tslocaleshist '+ 'WHERE (campo_fecha+campo_hora) BETWEEN fechainicio AND fechafin '; // donde fechainicio y fechafin estarian en formato yyyy-mm-dd hh:nn:ss // y la idea de concatenar los campos es que se tomen con ese mismo formato
espero me haya dado a entender...
gracias...
salu2!!!!!!!