2015-06-09 92 views
0

我試圖從我的表中獲取一些數據 - 我只需要一天中的特定時間(在晚上22:00至次日早上06:00之間)一個固定的日期範圍。Postgresql - 在特定的時間和日期範圍內選擇

這是我到目前爲止有:

create new_table 
as select table.v1, table.localminute from table 
where date(table.localminute) between 
date('2013-11-01 00:00:00-05') and date('2014-12-01 00:00:00-05') 
and hour(table.localminute) between 22 and 6 

我不知道如何剛剛得到的數據爲22小時:00:00-05 06:00:00-05每天。

我也想過使用通配符的日期,但要麼它不工作,要麼我的實現不正確。任何幫助將不勝感激!

我使用下面的鏈接來設置它的信息,因爲它 - 不知道我需要做什麼。

Select between date range and specific time range

回答

1
SELECT v1, localminute 
FROM "table" 
WHERE localminute BETWEEN '2013-11-01'::date AND '2014-12-01'::date 
AND (extract('hour' from localminute) >= 22 OR extract('hour' from localminute) < 6); 
+0

謝謝!這幫助我指出了正確的方向。不能真正提取「日期」,所以這是最終查詢如何找到我:發現你只能提取時間戳的一部分,如日,小時,年,所以從查詢中刪除該部分:再次感謝您的幫助! –

+0

更新了答案,並表示感謝! – Patrick

+0

謝謝!我會投票答案,但我還沒有足夠的學分。 –