sql >> Base de Datos >  >> RDS >> Mysql

consulta mySQL entre dos fechas y dos horas

No estoy seguro si su campo de fecha está indexado. Si lo son, es posible que los ejemplos "concat" que otros han dado no funcionen muy bien.

Como alternativa puede utilizar una consulta de la forma:

select * 
  from foo 
 where (date > lower_date and date < upper_date) -- technically this clause isn't needed if they are a day apart
    or (date = lower_date and time >= lower_time)
    or (date = upper_date and time <= upper_time)

No es bonito pero funciona y permitirá que mysql haga uso de índices en el campo de fecha si existen.

Entonces su consulta sería

SELECT time,
       close 
  FROM intraday_values 
 where (date > "2005-03-01" and date < "2005-03-02")
    or (date = "2005-03-01" and time >= "15:30")
    or (date = "2005-03-02" and time <= "15:14")