NUMTODSINTERVAL

Syntax

NUMTODSINTERVAL
(
  number  IN double precision,
  unit    IN text
)
RETURNS interval;

개요

주어진 숫자 값을 특정 단위(예: 'DAY', 'HOUR', 'MINUTE', 'SECOND')로 해석하여 INTERVAL 타입으로 변환한다.

숫자 값은 정수부와 소수부로 나뉘며,

  • 'DAY'인 경우 정수부는 일(day)로, 소수부는 24를 곱해 시간, 분, 초로 변환된다.

  • 'HOUR'인 경우 정수부는 시간(hour)로, 소수부는 60을 곱해 분과 초로 변환된다.

  • 'MINUTE'인 경우 정수부는 분(minute)로, 소수부는 60을 곱해 초(second)로 변환된다.

  • 'SECOND'인 경우 입력된 숫자 전체가 초(second)로 해석된다.

만약 잘못된 단위가 전달되면 오류를 발생시킨다.

파라미터

파라미터
설명

number

double precision 타입이다; 변환할 시간 값이다. 소수부가 있을 경우 하위 단위(시간, 분, 초)로 변환된다.

unit

text 타입이다;숫자 값의 단위를 지정한다. 유효한 단위는 'DAY', 'HOUR', 'MINUTE', 'SECOND'이다.예를 들어, 'DAY'를 지정하면 소수부가 시간, 분, 초로 차례로 변환된다.

예제

-- 1.5 DAY는 1일 12시간으로 변환됨
SELECT oracle.NUMTODSINTERVAL(1.5, 'DAY');

 numtodsinterval 
-----------------
 1 day 12:00:00
(1 row)

-- 2.75 HOUR는 2시간 45분으로 변환됨
SELECT oracle.NUMTODSINTERVAL(2.75, 'HOUR');

 numtodsinterval 
-----------------
 02:45:00
(1 row)

-- 30 MINUTE는 30분 0초로 변환됨
SELECT oracle.NUMTODSINTERVAL(30, 'MINUTE');

 numtodsinterval 
-----------------
 00:30:00
(1 row)

-- 90 SECOND는 90초 그대로 반환됨
SELECT oracle.NUMTODSINTERVAL(90, 'SECOND');

 numtodsinterval 
-----------------
 00:01:30
(1 row)

Last updated