sql >> Database >  >> RDS >> Mysql

mySQL-query tussen twee datums en twee keer

Weet niet zeker of uw datumveld is geïndexeerd. Als dat zo is, presteren de "concat"-voorbeelden die anderen hebben gegeven mogelijk niet erg goed.

Als alternatief kunt u een query van het formulier gebruiken:

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)

Het is niet mooi, maar het werkt en stelt mysql in staat gebruik te maken van indexen in het datumveld als ze bestaan.

Dus uw vraag zou zijn:

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


  1. Hoe Zend DB databaseverbindingen beheert

  2. Variabele doorgeven aan GoLang Query

  3. Efficiënte ISNUMERIC() vervangingen op SQL Server?

  4. Produceer DISTINCT-waarden in STRING_AGG