2009-05-20 13 views
23

Muszę pobrać dane z tabeli Oracle, w której mam jedno pole daty o nazwie lastupdatedDate i chcę uzyskać tylko te wiersze z powrotem, w których lastupdatedDate jest w ciągu ostatnich 10 minut od sysdateWywołanie Oracle, aby uzyskać dane z tabeli wstawione w ciągu ostatnich 10 minut

na przykład, jeśli w moim stole mam lastupdateDate jak 05/20/09 4:20:44 potem chcę ten wiersz w moim wyniku gdybym uruchomić kwerendę w między 05/20/09 4:20:44 i 05/20/09 4:30:44, a nie wtedy, jeśli uruchomić kwerendę w 05/20/09 5:31:44.

Odpowiedz

17
select * 
from mytable 
where lastupdatedDate > sysdate - (10/1440) 
+0

Mimo to daje poprawną odpowiedź. Wolę czytelność odpowiedzi @ rob-van-wijk na ten dzień. –

7
select sysdate - 10/(24*60) from dual; 

Patrz wyżej przykład, aby uzyskać sysdate minus dziesięć minut, teraz po prostu dodać do zapytania

45

lub nieco bardziej czytelne:

select * 
    from mytable 
where lastupdatedDate > sysdate - interval '10' minute 
+1

Dev friendly :) – Aravin

+0

to powinna być zaakceptowana odpowiedź: | – MaxG

Powiązane problemy