[Oracle]_NVL 사용 (DATE,Number) 비교
2022. 8. 29. 10:34ㆍ[DB]/[Oracle]_DB
728x90
반응형
사용환경]
DB : oracle
FrameWork : mybatis,ibatis
문제 발생]
NULL 처리
시도 방법]
CASE WHEN 을 사용
NVL 함수를 사용
NVL 을 사용했을 때 문제가 되었던 점을 정리해 보았습니다.
날자, Number 을 비교했을 때 문제 발생
NVL 의 경우
NVL(target,result) 로 2가지 인자를 받습니다.
만약 target 이 DATE 나 INT 일 경우 동일한 자료형으로 바꿔줄 수 있습니다.
이를 치환할 target 자료형에 맞춰야 합니다.
제가 한 부분은
null일 경우 '-' (하이픈) 처리를 해야 했고, 값은 varchar
이를 group 하여 오름차순 정렬을 해야 했습니다.
해결방법
null은 null 대로 반환이 필요하고
0의 값은 별도로 존재하며
0과 null은 다른것임으로 NVL 등으로 null을 치환하지 않고 그대로 받아 온 뒤
이를 프론트에서 구분을 나눠서 처리하였습니다.
728x90
반응형
'[DB] > [Oracle]_DB' 카테고리의 다른 글
[Connect by]_ 계층형 쿼리 & 재귀 쿼리 응용 ( 이달의 휴일 구하기 ) (0) | 2022.11.28 |
---|---|
[connect_by]_ORACLE_계층 형 함수 사용(메뉴트리) (0) | 2022.11.21 |
[Oracle]_날자 , 요일 추출_그룹 핑 후 순번 매기기 (2) | 2022.10.25 |
[Oracle]SelectKey_사용하기 (feat. SEQUENCE) (0) | 2022.05.24 |
[Oracle]_SEQUENCE (feat. 테이블 pk) (0) | 2022.05.24 |