Oracle 데이터베이스에서 계산된 타임스탬프 간의 밀리초 차이
Oracle 데이터베이스의 두 타임스탬프 간의 밀리초 차이를 계산하려면 플랫폼별 차이와 필요한 출력 형식을 신중하게 고려해야 합니다.
두 개의 TIMESTAMP 변수를 빼면 결과는 INTERVAL DAY TO SECOND 값입니다. 이 간격에는 데이터베이스에서 사용하는 운영 체제에 따라 다른 수의 밀리초 및/또는 마이크로초가 포함됩니다. 예를 들어 Windows 기반 데이터베이스는 일반적으로 밀리초를 제공하는 반면 Unix 기반 데이터베이스는 마이크로초를 사용하는 경향이 있습니다.
시간 구성요소 추출
INTERVAL DAY TO SECOND 값에서 특정 시간 구성 요소를 검색하려면 EXTRACT 함수를 사용할 수 있습니다. 이 기능을 사용하면 일, 시간, 분, 초와 같은 개별 요소를 추출할 수 있습니다.
총 밀리초 계산
타임스탬프 사이의 총 밀리초 수가 필요한 경우 추출된 각 구성 요소를 밀리초 및 합계로 변환할 수 있습니다. 그러나 INTERVAL DAY TO SECOND 표현을 유지하거나 시간, 분, 초에 대해 다른 열을 생성하는 것이 더 실용적인 경우가 많습니다.
계산 예:
다음 예를 고려해 보세요.
<code class="language-sql">select systimestamp - to_timestamp('2012-07-23', 'yyyy-mm-dd') from dual;</code>
이 쿼리는 시차를 INTERVAL DAY TO SECOND 값으로 검색합니다.
<code>+000000000 14:51:04.339000000</code>
EXTRACT 기능을 사용하면 일, 시, 분, 초 구성 요소를 추출할 수 있습니다.
<code class="language-sql">select extract(day from diff) days, extract(hour from diff) hours, extract(minute from diff) minutes, extract(second from diff) seconds from (select systimestamp - to_timestamp('2012-07-23', 'yyyy-mm-dd') diff from dual);</code>
결과는 다음과 같습니다.
<code> DAYS HOURS MINUTES SECONDS ---------- ---------- ---------- ---------- 0 14 55 37.936</code>
총 밀리초를 계산하기 위해 다음 구성 요소를 결합합니다.
<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) total_milliseconds from (select systimestamp - to_timestamp('2012-07-23', 'yyyy-mm-dd') diff from dual);</code>
반환 결과:
<code>TOTAL_MILLISECONDS ------------------ 53831842</code>
위 내용은 Oracle에서 타임스탬프 간의 밀리초 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!