我試圖從Postgres數據庫中提取一些數據來實現生日提醒系統,但是我在查詢工作中遇到了一些麻煩。基本上,我想把所有的生日場地落在一定的一個月內的記錄。我曾嘗試以下查詢:在Postgres中提取所有年份中小於mm-dd的日期
SELECT *
ALL persons
WHERE EXTRACT(MONTH from birthday) >= 9
AND EXTRACT(DAY from birthday) >= 15
INTERSECT
SELECT *
ALL persons
WHERE EXTRACT(MONTH from birthday) <= 10
AND EXTRACT(DAY from birthday) <= 15
查詢(在INTERSECT
之前)的第一部分似乎是工作,因爲我想,但第二部分是15日之前不包括任何個月在日期。例如,如果9/20有生日,第一部分將包括它,但第二部分將排除它,因爲它在第15天之後(即使它仍然在10/15之前)。任何想法如何彌補這一點?
如果您的PostgreSQL版本中有帖子,通常是個好主意。某些功能(如可寫CTE,窗口功能等)僅適用於較新的版本。 – 2012-08-15 05:29:49