728x90
300x250
MAX/MIN
◆ MIN/MAX는 한 컬럼안에서만 비교하는 반면 GREATEST/LEAST는 서로 다른 컬럼과 비교 가능
WITH EXP_MXN AS (
SELECT 111 AS test_col
FROM DUAL
UNION ALL
SELECT 222 AS test_col
FROM DUAL
)
SELECT MAX(test_col)
, MIN(test_col)
FROM EXP_MXN;
// 결과값 222 111
GREATEST / LEAST
-▶숫자 비교는 물론 (숫자형)
SELECT GREATEST(100, 200, 300, 400) AS grt --인자값 중 최대값 반환
, LEAST(100, 200, 300, 400) AS let --인자값 중 최소값 반환
FROM DUAL;
// 결과값 400 100
-▶문자열 비교도 가능 (문자형)
SELECT GREATEST('aaa', 'AAA', 'bbb', 'BBB') AS grt
, LEAST('aaa', 'AAA', 'bbb', 'BBB') AS let
FROM DUAL;
// 결과값 bbb AAA
-▶날짜 비교도 가능
SELECT GREATEST(SYSDATE, SYSDATE+1) AS grt
, LEAST(SYSDATE, SYSDATE+1) AS let
FROM DUAL;
※ 주의) null값이 들어가면 안됨 -▶에러는 안나되 NULL값 반환
SELECT GREATEST(NULL, 'AAA', 'bbb', 'BBB') AS grt
, LEAST('aaa', 'AAA', 'bbb', 'BBB') AS let
FROM DUAL;
※ 주의) 비교하는 타입들이 다르면 안됨
SELECT GREATEST('AAA', 555, 'BBB') AS grt
, LEAST(333, 555, 'BBB') AS let
FROM DUAL;
// SQL Error [1722] [42000]: ORA-01722: 수치가 부적합합니다
728x90
반응형
'프로그래밍 > oracle' 카테고리의 다른 글
[oracle] 테이블이 아닌 뷰(view)를 사용하는 이유와 장점과 단점 생성,수정,삭제,조회,구조 확인 (12) | 2023.01.27 |
---|---|
[oracle] EXISTS 와 IN 함수 서브쿼리 사용법 비교해보자! (8) | 2023.01.18 |
[oracle] RANK() OVER(PARTITION BY 컬럼 ORDER BY 컬럼 분석함수 그룹핑 순위매기기 함수 쿼리 (3) | 2023.01.17 |
댓글