2014-07-21 65 views
0

你好女士和紳士,甲骨文日期/時間操作查詢

我有問題,找到在Oracle SQL的解決方案爲我的查詢:

這是查詢我需要的例子:

Select Result_Date as hour , Type , Count(Id) as Number From Results 
Where Result_Date Between Today'06:00' And today'14:00' 
group by result_date , type 

結果日期包含小時,結果日期的格式是時間戳。 我怎樣才能完成這個查詢沒有輸入日期之間的聲明,只有我想今天搜索的小時。

如果您有任何想法,請讓我知道,任何想法是值得歡迎的。

+0

TO_CHAR函數是你想要的。 –

+0

我已經嘗試過to_char,它沒有比較字符串 –

+0

我已經更正了代碼,今天在小時之前添加了 –

回答

2

您可以使用時間戳trunc()功能,所以這可能會做你想要什麼:

Select trunc(Result_Date, 'HH24') as hour , Type , Count(Id) as Number From Results 
Where trunc(Result_Date, 'HH24') Between '06:00' And '14:00' and 
     trunc(Result_Date) = trunc(sysdate) 
group by trunc(Result_Date, 'HH24'), type ; 

注:

trunc()的日期默認爲當天。如果你喜歡,你可以添加特定的格式。

+0

我也只需要它用於當天,例如current_day '06:00'和current_day '14之間:00' –

0

編輯,這是爲我工作

Select to_number(extract(hour from Result_Date)) as hour , Type , Count(Id) as Number From Results Where To_Date(Trunc(Result_Date)) = To_Date(Trunc(Current_Timestamp)) 
     and to_number(extract(hour from Result_Date)) Between 6 and 14  
      group by to_number(extract(hour from)Result_Date) as hour , type 

@Gordon Linoff,謝謝DOR與軀幹的建議,它幫我配發