> 데이터 베이스 > MySQL 튜토리얼 > Oracle에서 밀리초 단위로 시간 차이를 계산하는 방법은 무엇입니까?

Oracle에서 밀리초 단위로 시간 차이를 계산하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-11 20:57:42
원래의
575명이 탐색했습니다.

How to Calculate Time Differences in Milliseconds in Oracle?

Oracle 데이터베이스의 밀리초 시간 차이 계산

Oracle 데이터베이스에서는 두 타임스탬프 간의 밀리초 시간 차이를 계산하는 것이 일반적인 작업이므로 개발자는 이를 통해 기간을 정확하게 측정하거나 시간 관련 이벤트를 비교할 수 있습니다.

오라클의 방식

TIMESTAMP 유형의 두 변수를 뺄 때 Oracle은 INTERVAL DAY TO SECOND 값을 반환합니다. 이 간격에는 데이터베이스 플랫폼(Windows/Unix)에 따라 밀리초 또는 마이크로초가 포함됩니다. EXTRACT 함수를 통해 이 간격의 개별 요소를 추출함으로써 개발자는 다음 공식을 사용하여 총 밀리초 수를 계산할 수 있습니다.

<code class="language-sql">总毫秒数 = (extract( day from diff ) * 24 * 60 * 60 * 1000) +
           (extract( hour from diff ) * 60 * 60 * 1000) +
           (extract( minute from diff ) * 60 * 1000) +
           (round(extract( second from diff ) * 1000))</code>
로그인 후 복사

계산예

두 개의 타임스탬프가 있다고 가정합니다.

  • 타임스탬프 1: 2023-02-06 12:45:34.123
  • 타임스탬프 2: 2023-02-05 11:30:15.678

시간 차이를 밀리초 단위로 계산하려면 다음 쿼리를 사용할 수 있습니다.

<code class="language-sql">SELECT EXTRACT(DAY FROM diff) * 24 * 60 * 60 * 1000 +
       EXTRACT(HOUR FROM diff) * 60 * 60 * 1000 +
       EXTRACT(MINUTE FROM diff) * 60 * 1000 +
       ROUND(EXTRACT(SECOND FROM diff) * 1000) AS total_milliseconds
FROM (SELECT timestamp1 - timestamp2 AS diff FROM dual);</code>
로그인 후 복사

이 쿼리는 두 타임스탬프 사이의 총 밀리초 수를 반환합니다. 이 경우:

<code>total_milliseconds: 86400000 + 54000000 + 1800000 + 98543</code>
로그인 후 복사

다른 방법

개발자는 총 밀리초를 수동으로 계산하는 것 외에도 Oracle의 내장 기능을 사용하여 이 목적을 달성할 수도 있습니다. 예를 들어 TO_CHAR 함수를 사용하면 INTERVAL DAY TO SECOND 값을 밀리초가 포함된 문자열 표현으로 변환할 수 있습니다. 또는 DBMS_OUTPUT 패키지는 PUT_LINE 프로시저를 제공하여 개발자가 간격의 각 구성 요소(예: 일, 시, 분, 초, 밀리초)를 개별적으로 출력할 수 있도록 합니다.

위 내용은 Oracle에서 밀리초 단위로 시간 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿