TO_YMINTERVAL
구문
TO_YMINTERVAL
( ' { [+|-] years - months
| ym_iso_format
} '
[ DEFAULT return_value ON CONVERSION ERROR ]
)
ym_iso_format::=
[-] P [ years Y ] [months M] [days D]
[T [hours H] [minutes M] [seconds [. frac_secs] S ] ]
목적
TO_YMINTERVAL은 인수를 INTERVAL MONTH TO YEAR 데이터 유형의 값으로 변환합니다.
인수에 대해서는 CHAR, VARCHAR2, NCHAR, 또는 NVARCHAR2 데이터 유형의 문자열로 평가되는 표현식을 지정할 수 있습니다.
TO_YMINTERVAL은 두 가지 형식 중 하나로 인수를 받아들입니다:
- SQL 표준 (ISO/IEC 9075)과 호환되는 SQL 간격 형식
- ISO 8601:2004 표준과 호환되는 ISO 기간 형식
SQL 형식에서는 years는 0에서 999999999 사이의 정수이며, months은 0에서 11 사이의 정수입니다. 형식 요소 사이에 추가 공백이 허용됩니다.
ISO 형식에서는 연도와 월은 0에서 999999999 사이의 정수입니다. Days, hours, minutes, seconds 및 frac_secs는 양수 정수이며 지정된 경우 무시됩니다. 값에 공백이 허용되지 않습니다. T를 지정한 경우, hours, minutes 또는 seconds 값 중 하나 이상을 지정해야 합니다.
선택적인 DEFAULT return_value ON CONVERSION ERROR 절을 사용하여 인수를 INTERVAL MONTH TO YEAR 유형으로 변환하는 동안 오류가 발생한 경우 이 함수가 반환하는 값을 지정할 수 있습니다. 이 절은 인수를 평가하는 동안 오류가 발생한 경우에는 효과가 없습니다. return_value는 표현식 또는 바인드 변수일 수 있으며 CHAR, VARCHAR2, NCHAR, NVARCHAR2 데이터 유형의 문자열로 평가되어야 합니다. return_value는 SQL 형식 또는 ISO 형식 중 하나일 수 있으며, 함수 인수와 동일한 형식일 필요는 없습니다. return_value를 INTERVAL MONTH TO YEAR 유형으로 변환할 수 없는 경우 함수는 오류를 반환합니다.
예제
다음 예제는 샘플 hr.employees 테이블의 각 직원에 대해 고용 날짜 후 1년 2개월 후의 날짜를 계산합니다:
SELECT hire_date, hire_date + TO_YMINTERVAL('01-02') "14 months"
FROM employees;
HIRE_DATE 14 months
--------- ---------
17-JUN-03 17-AUG-04
21-SEP-05 21-NOV-06
13-JAN-01 13-MAR-02
20-MAY-08 20-JUL-09
21-MAY-07 21-JUL-08
. . .
다음 예제는 ISO 형식을 사용하여 동일한 계산을 수행합니다:
SELECT hire_date, hire_date + TO_YMINTERVAL('P1Y2M') FROM employees;
다음 예제는 지정된 표현식을 INTERVAL MONTH TO YEAR 값으로 변환할 수 없기 때문에 기본값을 반환합니다:
SELECT TO_YMINTERVAL('1x-02'
DEFAULT '00-00' ON CONVERSION ERROR) "Value"
FROM DUAL;
Value
-------------
+000000000-00
출처: 오라클 레퍼런스
원문 링크: Oracle TO_YMINTERVAL 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] TRANSLATE ... USING - 문자열을 다른 문자 집합으로 변환 (NCHAR 또는 NVARCHAR2 사용) (0) | 2023.09.02 |
---|---|
[오라클 레퍼런스 함수] TRANSLATE - 문자열 대체 (0) | 2023.09.02 |
[오라클 레퍼런스 함수] TO_UTC_TIMESTAMP_TZ - ISO 8601 날짜 형식 문자열을 TIMESTAMP WITH TIMEZONE의 인스턴스로 반환 (0) | 2023.09.01 |
[오라클 레퍼런스 함수] TO_TIMESTAMP_TZ - TIMESTAMP WITH TIME ZONE 유형으로 변환 (0) | 2023.09.01 |
[오라클 레퍼런스 함수] TO_TIMESTAMP - TIMESTAMP 유형으로 변환 (0) | 2023.09.01 |
댓글