Mysql
 sql >> Database >  >> RDS >> Mysql

query MySQL tra due date e due volte

Non sono sicuro che il campo della data sia indicizzato. Se sono gli esempi "concat" forniti da altri potrebbero non funzionare molto bene.

In alternativa puoi utilizzare una query del form:

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)

Non è carino ma funziona e consentirà a mysql di utilizzare gli indici nel campo della data se esistono.

Quindi la tua domanda sarebbe

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