[Oracle] 문자형을 숫자형으로 바꾸기 / Null인 경우 디폴트 주기 / Max 함수 사용하기
테이블 생성 시 varchar 등의 타입으로 컬럼을 만들었을 때 max와 같은 함수를 사용할 수 없다.
(예: 문자형은 숫자 9를 숫자 10보다 더 높은 것으로 인식하기 때문)
따라서 Max 함수를 사용하려면 숫자형으로 형 변환이 반드시 필요하다.
이 때, 주의할 점은 그 문자형 컬럼값이 null인 경우도 있다는 것이다.
숫자형일 때는 이럴 경우 '0'으로 반환해야 할 때도 있다.
1. 문자형 -> 숫자형으로 바꾸기
-> TO_NUMBER
SELECT TO_NUMBER(CHAR_COL) FROM DUAL;
2. NULL일 때 DEFAULT '0' 주기
--> NVL
SELECT NVL(TO_NUMBER(CHAR_COL),0) FROM DUAL;
3. 위 내용으로 MAX 함수 사용하기
SELECT MAX(NVL(TO_NUMBER(CHAR_COL),0)) FROM DUAL;
'백엔드' 카테고리의 다른 글
Jira 에서 jsp 한글 깨질 때. 인코딩 추가하기 (0) | 2022.03.28 |
---|---|
<jsp> 페이지 url, 서버, 로컬 ip 가져오기 (0) | 2022.03.25 |
[MySQL] JOIN (INNER, LEFT, RIGHT) (0) | 2022.03.02 |
Mysql CAST/CONVERT 문자, 숫자, 날짜 형 변환하기 (0) | 2022.03.02 |
[groovy] string, Map, json 타입 변경 (0) | 2022.02.25 |