2009-05-20 6 views
23

Je dois obtenir des données de Oracle Table dans lequel j'ai un datefield appelé lastupdatedDate et je veux obtenir seulement que les lignes dans lesquelles lastupdatedDate est dans les 10 dernières minutes de sysdaterequête Oracle pour obtenir les données de la table inséré dans les 10 dernières minutes

Par exemple, si dans ma table je lastupdateDate comme 05/20/09 4:20:44 je veux cette ligne dans mon résultat si je lance la requête entre 05/20/09 4:20:44 et 05/20/09 4:30:44, et pas si si je lance la requête à 05/20/09 5:31:44.

Répondre

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

Bien que cela donne la bonne réponse. Je préférerais la lisibilité de la réponse de @ rob-van-wijk à ce sujet n'importe quel jour. –

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

Voir exemple ci-dessus pour obtenir SYSDATE moins dix minutes, maintenant il suffit d'ajouter à votre requête

45

Ou un peu plus lisible:

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

Dev friendly :) – Aravin

+0

cela devrait être la réponse acceptée: | – MaxG

Questions connexes