2017-02-02 25 views
1

想這是我的表(PostgreSQL系統):如何檢查PostgreSQL本月是否已有記錄?

datecolumn a   b  c 
DATE  INTEGER INTEGER INTEGER 
01.02.17 1   5  7 
01.02.16 5   7 
02.02.17 5 
30.01.17 8 

我想編寫一個查詢這需要CURRENT_DATE比較它datecolumn並顯示它們是從這個月的所有記錄&年

所以對於CURRENT_DATE (今天是17年2月2日)的預期結果是:

datecolumn a b c 
01.02.17 1 5 7 
02.02.17 5 

我知道我可以做:

select * 
from tab 
where extract(month from current_date) = extract(month from datecolumn) and 
extract(year from current_date) = extract(year from datecolumn) 

但我想知道是否沒有更簡單的東西。

回答

4

您可以使用date_trunc()

select * 
from tab 
where date_trunc('month', datecolumn) = date_trunc('month', current_date);