http://www.adp-gmbh.ch/ora/sql/greatest_least.html

   

min, max가 검색조건에 맞는 값 중에 가장 작은 것과 가장 큰 것을 뽑는 함수였다면 greatest와 least는 inline 형태로 사용하여 가장 큰 값과 제일 작은 값을 뽑기 위한 함수이다.

select least(44, 22, 49, 8, 102) from dual;

> 8

select greatest(44, 22, 49, 8, 102) from dual;

> 102

   

greatest (expr-1)

greatest (expr-1, expr_2)

greatest (expr-1, expr_2, ..., expr-n)

   

least (expr-1)

least (expr-1, expr_2)

least (expr-1, expr_2, ..., expr-n)

 

추가로 null이 포함된 경우에는 greatest, least모두 null을 반환하는 점을 참고하자.

 

GREATEST(-1,0,1,2,NULL)

———————–

NULL

 

 

LEAST(-1,0,1,2,NULL)

———————–

NULL

 

뿐만 아니라 숫자 이외의 데이터 타입이 포함된 경우 다음과 같은 에러가 발생한다.

 

select least(-1,0,1,2,'a') from dual

———————–

 

ERROR at line 1:

ORA-01722: invalid number

+ Recent posts