2011-07-07 3 views
4

J'essaie d'écrire une requête à exécuter sur la base de données Oracle. La table ActionTable contient les colonnes actionStartTime et actionEndTime. J'ai besoin de savoir quelle action a pris plus d'une heure à compléter.Différence d'horodatage Oracle supérieure à X heures/jours/mois

actionStartTime et actionEndTime sont de type horodatage

J'ai une question qui me donne le temps nécessaire pour chaque action:

select (actionEndTime - actionStartTime) actionDuration from ActionTable 

Quelle serait ma clause where qui retourne uniquement les actions qui ont plus que 1 heure pour terminer? La soustraction de deux horodatages renvoie un intervalle.

Répondre

11

Donc, vous voudriez quelque chose comme

SELECT (actionEndTime - actionStartTime) actionDuration 
    FROM ActionTable 
WHERE actionEndTime - actionStartTime > interval '1' hour 
+0

J'ai manqué le type de données. J'ai supprimé ma réponse et voté la vôtre. – Olaf

Questions connexes