1
我可以從下面的查詢中獲得每年的15/02
- 21/06
日期範圍數據。嘗試查找不同的數據時得到相同的結果
SELECT * FROM dim_date
WHERE EXTRACT (MONTH FROM date_cal) BETWEEN 3 AND 5
OR (EXTRACT (MONTH FROM date_cal) = 2 AND EXTRACT (DAY FROM date_cal) >= 15)
OR (EXTRACT (MONTH FROM date_cal) = 6 AND EXTRACT (DAY FROM date_cal) <= 21)
但問題是,當我想從去年2010 - 2012
找到,我回來了相同的結果。
範圍,我想:
2010-02-15 - 2010-06-15
2011-02-15 - 2011-06-15
2012-02-15 - 2012-06-15
SELECT * FROM dim_date
WHERE EXTRACT (MONTH FROM date_cal) BETWEEN 3 AND 5
OR (EXTRACT (MONTH FROM date_cal) = 2 AND EXTRACT (DAY FROM date_cal) >= 15)
OR (EXTRACT (MONTH FROM date_cal) = 6 AND EXTRACT (DAY FROM date_cal) <= 21)
AND EXTRACT (YEAR FROM date_cal) BETWEEN 2010 AND 2012
誰能幫我這個!
考慮[後續問題與更多答案](http://stackoverflow.com/q/11944762/939860)。 [與這個主題相關的更多問題](http://stackoverflow.com/questions/15169410/how-do-you-do-date-math-that-ignores-the-year/15179731)。 – 2013-05-02 23:32:27