목록DB (31)
내가 보려고 정리하는 블로그
오라클의 SQL함수 중 IF문기능을 구현하는 두번째 함수이다. DECODE보다는 불편하지만 가독성면에서 뛰어나며 여러 부호로 IF문을 구현 할 수 있다. CASE WHEN 컬럼 >= 비교값1 THEN 결과1 WHEN 컬럼 >= 비교값2 THEN 결과2 WHEN 컬럼 >= 비교값3 THEN 결과3 ELSE 결과4 END
DECODE는 오라클에서 가장 많이 쓰는 함수중 하나이다. 프로그래밍 언어에서 if , if-else문을 SQL에서는 DECODE로 구현한다. DECODE(컬럼 , 조건1, 결과1 , 조건2 , 결과2 , 조건3 , 결과3) 해당 조건문은 JAVA로 풀어보면 if(조건1 == 컬럼){ 결과1 }else if(조건2 == 컬럼){ 결과2 }else if(조건3 == 컬럼){ 결과3 } DECODE마지막 인자 값에 결과값을 입력하면 else문과 같은 기능을 가진다. DECODE(컬럼 , 조건1, 결과1 , 조건2 , 결과2 , 조건3 , 결과3 , 결과4) 해당 조건문을 JAVA로 풀어보면 if(조건1 == 컬럼){ 결과1 }else if(조건2 == 컬럼){ 결과2 }else if(조건3 == 컬럼){ 결..
이름과 커미션을 출력하는데 , 커미션이 NULL인 사원들은 0으로 출력하겠습니다. 커미션이 NULL이 아닌 사원들은 자신의 커미션이 출력되고 커미션이 NULL인 사원들은 0이 출력된다. 실제로 0으로 값이 변경되는 것은 아니고 출력되는 쿼리에서만 0으로 출력되어 보이는것 입니다. 다음의 쿼리는 커미션 NULL을 0으로 치환하여 월급 + 커미션을 출력하는 쿼리입니다. 다음의 쿼리는 NVL2 함수를 이용하여 커미션이 NULL이 아닌 사원들은 sal+comm을 출력하고, NULL인 사원들은 SAL을 출력하는 예제입니다. NVL(확인할 컬럼 , NULL일때 치환할 값) NVL2(확인할 컬럼 , NULL이 아닐 경우의 데이터 , NULL일 경우의 데이터)