어쩌면 오라클에서 가장 많이사용하는 함수인
DECODE(), NVL(), NVL2() 함수에 대해서 다루겠습니다.
전부 값을 어떤것으로 치환할때 사용하는건데요
처음에 익숙하지 않아서 그런데
계속 사용하다보면 굉장히 편합니다
1.NVL(컬럼,A)
먼저 NVL()함수입니다.
파라미터는 총 두개입니다.
NVL(컬럼,A)
컬럼이 Null값이면 A값으로 치환해줍니다.
간단하죠..?
2.NVL2(컬럼,A,B)
NVL2()함수입니다.
눈치 채셨다시피
컬럼이 Null이 아니라면 A로 치환해주는것이고요.
컬럼이 Null이면 B로 치환해줍니다.
3.DECODE(컬럼,조건1,값1,조건2,값2,기본값)
DECODE()함수입니다.
간단하게 설명드리면
프로그래밍에서 switch-case 문과 맥락이 같다고 보시면 됩니다
컬럼에 대하여 조건1을 만족한다면 값1을 출력하고 조건2를 만족한다면 값2를 출력...
DECODE함수에서 개수는 상관이 없습니다.
그리고 조건에 해당하는 값이 없다면 맨 마지막에 기본 Default 값을 출력하게 할 수 있습니다.
세 함수 모두 SELECT 절에서 사용 가능하며
중첩 또한 가능합니다.
궁금한점이나 잘못된점 있으면 댓글 주세요~! 피드백하겠습니다.
'oracle' 카테고리의 다른 글
[Oracle] ORA-01652:128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다. (0) | 2018.12.31 |
---|---|
[Oracle] START WITH CONNECT BY - 계층쿼리 (0) | 2018.10.29 |
[Oracle] ORA-00911:문자가 부적합 합니다. (0) | 2018.10.29 |
[Oracle] Window Oracle 11g 설치 (0) | 2018.10.28 |