2016-04-11 17 views
0

İki zaman dizesi verdiğim MySql'deki bilgileri sorgulamam gerekiyor, bu yüzden aralarında bir şey bulmam gerekiyor.mysql, tarih ve saat ayrıldı sütununda iki zaman arasındaki zaman dilimi alma

id | date  | hour | other | columns | that are not important 
----------------------------------------------------------- 
1 | 2016-04-11| 1 | asdsa...... 
2 | 2016-04-11| 2 | asdasdsadsadas... 
. 
. 
. 
n | 2016-04-12| 23 | sadasdsadsadasd 

Zamanın dizeleri 2016-04-11 1 ve 2016-04-12 23 olduğunu varsayalım ve ben n 1'den tüm bilgileri bulmalıyız gibi tablo görünüyor biçimi. Tarih ve saati ayırabilir ve tarih için BETWEEN...AND kullanarak sorgu yapabilirim, ancak zamanın formüle nasıl sığacağı konusunda hiçbir fikrim yok. Başka bir BETWEEN kullanarak kesinlikle işe yaramaz, bu yüzden ifadeyi başka bir yere sığdırmaya kesinlikle ihtiyacım var. Yine de nasıl devam edeceğimi bilmiyorum.

+0

Sorguyu doğru almak için "WHERE" bölümündeki iki SELECT sözcüğü kullanabilirim, ancak bunu yapmanın daha iyi bir yolu var mı? – JChao

cevap

1
WHERE ((`date` = fromDate AND `hour` > fromHour) OR `date` > fromDate) 
AND ((`date` = toDate AND `hour` < toHour) OR `date` < toDate) 
+0

teşekkürler! Benim yöntemim aynı performansa sahip ama bu kesinlikle daha temiz. – JChao

İlgili konular