1

私のサンプルテーブルは次のようになります。

Primary_Key  || Start_Time || End_Time || Value

1 || 24-FEB-13 18:00:00 || 24-FEB-13 19:00:00 || 6

これらの列のデータ型は次のとおりです。

Primary_Key --   Int  
Start_Time  ---  TimeStamp  
End_Time    ---  TimeStamp  
Value       ---  Int 

今、私は現在の時刻の60分以内にEnd_Time値を持つテーブル内のすべてのレコードをフェッチしたいですか?

4

4 に答える 4

1

これを試して...

SELECT * FROM yourTable
WHERE end_time >= CURRENT_TIMESTAMP - NUMToDSInterval(1, 'HOUR')

これは、DATE と TIMESTAMP および TIMESTAMP WITH TIME ZONE の値で機能するはずです。

于 2013-02-25T20:06:52.590 に答える
0

これを試すことができます - your_start_date と your_start_date + INTERVAL '60' MINUTE の間のデータを選択してください:

SELECT SYSDATE start_dt, (SYSDATE + INTERVAL '60' MINUTE) end_dt 
  FROM dual
/

SELECT * FROM
(
SELECT  to_date('24-FEB-13 18:00:00', 'DD-MON-YYYY HH24:MI:SS') your_start_date
       ,(to_date('24-FEB-13 18:00:00', 'DD-MON-YYYY HH24:MI:SS') + INTERVAL '60' MINUTE) your_end_dt 
 FROM dual
)
/
于 2013-02-25T20:53:21.520 に答える
0

これはうまくいくはずです:

select *
from sample s
where CURRENT_TIMESTAMP - end_time <= 1/24.0 and CURRENT_TIMESTAMP >= end_time
于 2013-02-25T19:51:28.703 に答える
0

これを試して

select * from yourtable
WHERE (sysdate - End_Time) * 1440 between 0 and 60
于 2013-02-25T19:53:16.650 に答える