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?thenreturn;
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分鐘,具體執行的操作就需要妳自己寫了。希望可以幫到妳