当前位置 - 股票行情交易網 - 財經資訊 - oracle問題,我現在有分鐘數據表,但是現在查詢從分鐘數據中查詢整點數據如何做?

oracle問題,我現在有分鐘數據表,但是現在查詢從分鐘數據中查詢整點數據如何做?

下面是大概的存儲過程,妳可以根據這個改壹下

create?or?replace?procedure?P_NAME?(pHour?number)?is

vDayvarchar2(8)?:=?to_char(sysdate,?'yyyymmdd');

vHourvarchar2(16)?:=?trim(to_char(pHour,?'00'));?--?改為兩位的小時表示,比如01點

vTimedate;

vNumnumber;

begin

--?判斷時間是否為0-23點

if?pHour?<?0?or?pHour?>?23?then

return;

end?if;

--?整點時間?date?類型

vTime?:=?to_date(vDay||vHour||'0000',?'yyyymmddhh24miss');

select?count(1)

into?vNum

from?table_name

where?to_char(ftime,?'yyyymmddhh24miss')?=?vDay||vHour||'0000';

--?如果有整點的數據

if?vNum?>?0?then

--?這裏面做妳想執行的操作,比如返回遊標等等

return;

end?if;

--?如果沒有整點的數據,取前後10分鐘的數據

select?count(1)

into?vNum

from?table_name

where?to_char(ftime,?'yyyymmddhh24miss')?between?vTime-10/(24*60)?and?vTime+10/(24*60);

if?vNum?>?0?then

--?這裏面做妳想執行的操作,比如返回遊標等等

end?if;

end;

其中,vTime-10/(24*60) 表示整點前10分鐘,vTime+10/(24*60) 表示整點後10分鐘,具體執行的操作就需要妳自己寫了。希望可以幫到妳