2010-11-08 57 views
3

我想在一段時間內做出MySql選擇。但我沒有弄清楚如何正確設置它。如何在mysql中選擇一段時間?

這就是我試圖

SELECT * FROM rapoarte WHERE DATE(ziua) BETWEEN 2010-01-12 AND 2011-01-14

能否請你幫忙嗎?

感謝, 塞巴斯蒂安

+0

字段ziua的類型是什麼? – 2010-11-08 08:11:04

+0

ziua字段的類型是Date。但它的工作正常與報價 – sebastian 2010-11-08 10:28:34

回答

1
SELECT * FROM rapoarte WHERE DATE(ziua) BETWEEN "2010-01-12" AND "2011-01-14" 
+1

感謝您的幫助。完美解決。 :) – sebastian 2010-11-08 08:12:05

6

如果性能是一個問題,我會避免以這種方式使用DATE因爲它會阻止指數的有效使用,將導致全掃描。對於小桌子來說,這可能不成問題,但是如果桌子很大,您可能會發現這會帶來更好的效果:

SELECT * 
FROM rapoarte 
WHERE ziua >= '2010-01-12' 
AND ziua < '2010-01-15' 
+0

+1這是更好的方法,但是第一個>必須是> =。另外,我不認爲「00:00:00」是必要的。 – AndreKR 2010-11-08 08:16:47

+0

@AndreKR:是的,你是對的> =。現在修好,謝謝。 – 2010-11-08 08:17:59

+0

@MarkByers我沒有得到性能部分。如何使用日期影響性能?參考:http://stackoverflow.com/questions/4382892/whats-mysqls-between-performance-over – 2016-09-16 13:03:49