Mysql
 sql >> Base de données >  >> RDS >> Mysql

requête mySQL entre deux dates et deux heures

Vous ne savez pas si votre champ de date est indexé. Si ce sont les exemples "concat" que d'autres ont donnés, ils ne fonctionneront peut-être pas très bien.

Comme alternative, vous pouvez utiliser une requête de la forme :

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)

Ce n'est pas joli mais cela fonctionne et permettra à mysql d'utiliser des index sur le champ date s'ils existent.

Votre requête serait donc

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")