2

最大タイムスタンプの 45 分前にすべてのレコードを返すクエリを作成したいと思います。

たとえば、最新のタイムスタンプを持つレコードは次のとおりです。

01.09.2013 11:00:00

今、私はからすべてのレコードを取得したいと思います

01.09.2013 10:15:00 to 11:00:00
4

3 に答える 3

3
with cte as
  (select max(the_timestamp_field) the_timestamp_field
     from test)    
select
    *
from
    test,cte
where
    test.the_timestamp_field between cte.the_timestamp_field - (1/24*.75)
                                 and  cte.the_timestamp_field

やります。

于 2013-09-11T19:50:49.467 に答える
0

レコードの作成時間をどのように判断したいかによって、単純な場合も少し複雑な場合もあります。テーブルに作成時間を示す日付列がある場合、それは簡単です:

SELECT columns
FROM table
WHERE date_column BETWEEN TO_DATE ('01.09.2013 10:15', 'MM.DD.YYYY HH24:MI') AND
TO_DATE('01.09.2013 11:00', 'MM.DD.YYYY HH24:MI')

日付列がない場合は、SCN_TO_TIMESTAMP( ORA_ROWSCN) 疑似列を使用して作成時刻を特定できますが、この機能には またはそれ以降のバージョンが必要であることに注意してください10g

于 2013-09-11T19:51:11.037 に答える