본문 바로가기

[오라클 레퍼런스 함수] GREATEST - 가장 큰 값 반환

by ㅇㅍㅍ 2023. 8. 6.
[오라클 레퍼런스 함수] GREATEST - 가장 큰 값 반환
728x90

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 함수 문서

 

반응형

댓글