GREATEST
구문
GREATEST(expr [, expr ]...)
목적
GREATEST 함수는 하나 이상의 표현식 목록 중 가장 큰 값을 반환합니다. Oracle Database는 반환 유형을 결정하기 위해 첫 번째 expr을 사용합니다. 첫 번째 expr이 숫자형이면, Oracle은 가장 높은 숫자 우선순위를 가진 인수를 결정하고, 비교 전에 나머지 인수들을 그 데이터 유형으로 암시적으로 변환한 후 해당 데이터 유형을 반환합니다. 만약 첫 번째 expr이 숫자형이 아니라면, 첫 번째 이후의 각 expr은 비교 전에 첫 번째 expr의 데이터 유형으로 암시적으로 변환됩니다.
Oracle Database는 비패딩 비교 세맨틱(nonpadded comparison semantics)을 사용하여 각 expr을 비교합니다. 비교는 기본적으로 이진(binary)으로 이루어지며, NLS_COMP 파라미터가 LINGUISTIC로 설정되어 있고 NLS_SORT 파라미터가 BINARY 이외의 값으로 설정된 경우 언어적 비교가 이루어집니다. 문자 비교는 데이터베이스 문자 세트의 문자들의 숫자 코드를 기준으로 하며, 각 문자를 문자 단위로 처리하는 대신 전체 문자열을 바이트 시퀀스로 취급하여 수행됩니다. 이 함수에 의해 반환된 값이 문자 데이터인 경우, 첫 번째 expr이 문자 데이터 유형이면 VARCHAR2이며, 첫 번째 expr이 국가 문자 데이터 유형이면 NVARCHAR2입니다.
참고:
- 문자 비교에 대한 자세한 정보는 "Data Type Comparison Rules"을 참조하세요.
- 암묵적 변환에 대한 자세한 정보는 표 2-8을 참조하고, 바이너리 부동 소수점 비교 세맨틱에 대한 정보는"Floating-Point Numbers"를 참조하세요.
- "LEAST"는 하나 이상의 표현식 목록 중 가장 작은 값을 반환합니다.
- Oracle Database Globalization Support Guide의 부록 C는 GREATEST 함수에서 expr의 문자열 값을 비교하기 위해 사용하는 정렬(collation) 결정 규칙에 대한 정보를 제공합니다. 또한, 이 함수의 반환 값이 문자열 데이터인 경우에 해당 값을 할당하는 정렬을 정의하는 정렬 파생 규칙에 대한 정보도 부록 C에서 찾을 수 있습니다.
예제
다음 문장은 가장 큰 값을 가진 문자열을 선택합니다.
SELECT GREATEST('HARRY', 'HARRIOT', 'HAROLD') "Greatest"
FROM DUAL;
Greatest
--------
HARRY
다음 문장에서 첫 번째 인수는 숫자형입니다. Oracle Database는 가장 높은 숫자 우선순위를 가진 인수가 두 번째 인수라고 판단하고, 나머지 인수들을 두 번째 인수의 데이터 유형으로 변환한 후 가장 큰 값을 해당 데이터 유형으로 반환합니다.
SELECT GREATEST (1, '3.925', '2.4') "Greatest"
FROM DUAL;
Greatest
--------
3.925
출처: 오라클 레퍼런스
원문 링크: Oracle GREATEST 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] GROUPING - 슈퍼집계(superaggregate) 행 구별 (0) | 2023.08.06 |
---|---|
[오라클 레퍼런스 함수] GROUP_ID - 중복 그룹 구별 및 필터링 (0) | 2023.08.06 |
[오라클 레퍼런스 함수] FROM_TZ - TIMESTAMP WITH TIME ZONE 값으로 변환 (0) | 2023.08.06 |
[오라클 레퍼런스 함수] FLOOR - 소수점 이하 절사 (0) | 2023.08.06 |
[오라클 레퍼런스 함수] FIRST_VALUE - 정렬된 집합에서 첫 번째 값 반환 (0) | 2023.08.05 |
댓글