programing

Oracle - 두 DateTime 열 간의 차이를 분 단위로 파악하는 데 가장 적합한 SELECT 문은 무엇입니까?

lovejava 2023. 6. 13. 21:52

Oracle - 두 DateTime 열 간의 차이를 분 단위로 파악하는 데 가장 적합한 SELECT 문은 무엇입니까?

고객으로부터 다소 어려운 보고 요청을 받고 있는데, 두 개의 DateTime 열 간의 차이를 분 단위로 파악할 수 있는 방법을 찾아야 합니다.다양한 형식으로 잘라내기와 반올림을 사용하려고 시도했지만 의미 있는 조합을 찾을 수 없는 것 같습니다.이것을 하는 우아한 방법이 있습니까?그렇지 않다면, 이것을 할 수 있는 방법이 있습니까?

SELECT date1 - date2
  FROM some_table

일 단위로 차이를 반환합니다.시간의 차이를 얻으려면 24를 곱하고 분을 구하려면 24*60을 곱합니다.그렇게

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

당신이 찾고 있는 것이어야 합니다.

기본적으로 오라클 날짜 빼기는 결과를 일 수로 반환합니다.

24를 곱하면 시간을 얻을 수 있고, 60을 곱하면 분을 얻을 수 있습니다.

예:

select
  round((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

http://asktom.oracle.com/tkyte/Misc/DateDiff.html - 2012-01-30 기준 링크 중단

리소스는 다음과 같습니다.

http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551242712657900129

사용하다timestampdiffwhere

예:

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

언급URL : https://stackoverflow.com/questions/206222/oracle-best-select-statement-for-getting-the-difference-in-minutes-between-two