Skip to content Skip to sidebar Skip to footer

Oracle - Best Select Statement For Getting The Difference In Minutes Between Two Datetime Columns?

I'm attempting to fulfill a rather difficult reporting request from a client, and I need to find away to get the difference between two DateTime columns in minutes. I've attempted

Solution 1:

SELECT date1 - date2
  FROM some_table

returns a difference in days. Multiply by 24 to get a difference in hours and 24*60 to get minutes. So

SELECT (date1 - date2) *24*60 difference_in_minutes
  FROM some_table

should be what you're looking for

Solution 2:

By default, oracle date subtraction returns a result in # of days.

So just multiply by 24 to get # of hours, and again by 60 for # of minutes.

Example:

selectround((second_date - first_date) * (60 * 24),2) as time_in_minutes
from
  (select
    to_date('01/01/2008 01:30:00 PM','mm/dd/yyyy hh:mi:ss am') as first_date
   ,to_date('01/06/2008 01:35:00 PM','mm/dd/yyyy HH:MI:SS AM') as second_date
  from
    dual
  ) test_data

Solution 3:

Solution 4:

Use timestampdiff at where clause.

Example:

Select*from tavle1,table2 where timestampdiff(mi,col1,col2).

Post a Comment for "Oracle - Best Select Statement For Getting The Difference In Minutes Between Two Datetime Columns?"