2009-05-20 31 views
23

Tôi phải lấy dữ liệu từ Bảng Oracle, trong đó tôi có một trường được gọi là lastupdatedDate và tôi muốn chỉ nhận lại các hàng đó trong đó lastupdatedDate trong 10 phút cuối cùng của sysdateTruy vấn Oracle để lấy Dữ liệu từ bảng được chèn vào trong 10 phút trước

Ví dụ, nếu trong bảng của tôi, tôi có lastupdateDate như 05/20/09 4:20:44 sau đó tôi muốn hàng này trở lại trong kết quả của tôi nếu tôi chạy truy vấn ở giữa 05/20/09 4:20:4405/20/09 4:30:44, và không nếu nếu tôi chạy truy vấn tại 05/20/09 5:31:44.

Trả lời

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

Trong khi điều này mang lại câu trả lời đúng. Tôi thích khả năng đọc của câu trả lời của @ rob-van-wijk hơn bất kỳ ngày nào. –

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

Xem ở trên ví dụ để có được sysdate trừ mười phút, bây giờ chỉ cần thêm vào truy vấn của bạn

45

Hoặc nhẹ dễ đọc hơn:

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

Dev thân thiện :) – Aravin

+0

đây phải là câu trả lời được chấp nhận: | – MaxG

Các vấn đề liên quan