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