2016-10-06 85 views
1

我需要從字符日期(例如3:30 PM到15:30:00)提取Redshift/Postgres中的一天中的某個時間。所以,我需要從下午3點30分到15點30分到15點。將一天中的時間變成Postgres中的日期?

有人有指點嗎?由於

+0

提取物(小時從投(timeedt隨着時間) )如上所述,我也試過轉換。 SQL彈出錯誤或: 信息:函數「」date_part「(文本,時間沒有時區)」不支持。 信息:功能「」時間「(文本)」不支持。 錯誤:指定的類型或函數(每個INFO消息一個)在Redshift表上不受支持。 SQL狀態:0A000 – Ryan

回答

3

只投它時間:

Select CAST('3:30 pm' as Time); 

如果你只想小時,然後

Select EXTRACT(HOUR FROM CAST('3:30 pm' as Time)) 

例子:

postgres=> Select EXTRACT(HOUR FROM CAST('3:30 pm' as Time)); 
date_part 
----------- 
     15 
(1 row) 
+0

當我輸入日期值時有效,但由於某種原因,它不會爲我正在提取的列信息做到這一點。 信息:功能「」時間「(文本)」不支持。 錯誤:指定的類型或函數(每個INFO消息一個)在Redshift表上不受支持。 SQL狀態:0A000 – Ryan

+0

由於使用了其中一個功能,聲音像紅移一樣正在查詢查詢。你能否在沒有EXTRACT的情況下做CAST,看看它是否能夠通過?也許你可以把前兩個字符串分開。 – JNevill

相關問題