6.3.2 기타 함수
여러분이 알아둬야 할 함수 중 분류하기가 애매한 함수들도 있는데, 여기에서는 이에 대해 소개하도록 하죠.
• GREATEST( expr1, expr2, … )
매개변수 expr1, expr2, … 중 가장 큰 값을 찾아 반환합니다. 매개변수 값에 대해 내부적으로 비교 연산을 수행해 그 중 큰 값을 결과로 반환하므로 expr에 문자, 숫자, 날짜가 올 수 있습니다. 그런데 한 가지 특이한 점은 문자끼리 혹은 숫자끼리의 비교뿐만 아니라 문자와 숫자가 동시에 올 수도 있습니다. 이때 이 함수의 반환 값의 데이터형은 첫 번째 매개변수인 expr1을 따릅니다.
예를 들어 GREATEST( 'a', 2, 3, 4 )의 경우, 첫 번째 매개변수가 문자형이므로 나머지 2, 3, 4를 문자로 묵시적 형변환을 수행해 비교한 뒤 가장 큰 값인 ‘a’를 반환합니다. 여기서 문자 ‘a’와 ‘4’ 중 어떤 것이 클까요? ‘a’가 큽니다. 그 이유는 일반적으로 ASCII 코드 값으로 문자의 크기를 비교하기 때문입니다. ‘4’ 같은 숫자형 문자의 ASCII 코드 값은 알파벳 문자보다 값이 작습니다. 참고로 대문자가 소문자보다 값이 작습니다(이는 오라클 내부 설정 값에 따라 바뀔 수도 있는데 특별히 다른 설정 값을 적용하지 않는 한 기본적으로는 ASCII 코드 값으로 비교합니다).