Decode는 쉽게 말해, if, else if, else 같은 기능을 한다.
select
Decode(empno,'1233','Y','N')
/*Decode(비교할 데이터 컬럼, 해당 값, true라면 해당 값이 반환, false라면 해당값이 반환)*/
/*Decode(A, B, if(A==B), else)*/
from emp;
예를 들어 emp테이블이 임의로 있다고 가정할 때,
empno의 데이터값을 가져와 1233이 맞다면 Y 아니라면 N을 반환한다.
select
Decode(empno,'1234','Y','1233','U','N')
/*Decode(비교할 데이터컬럼, 비교값, 반환값, 비교값, 반환값, else반환값)*/
/*Decode(A, B, if(A==B), C, else if(A==C), else)*/
from emp;
else if와 같이 여러 경우의 수, 즉 조건을 작성할 수 있다.
단, else절이 없는 경우 지정하지 않은 값이 온다면 null이 반환된다.
select
Decode(empno,'1234','Y','1233','U')
/*empno > 1235라면 null이 반환*/
from emp;
'DB > Oracle' 카테고리의 다른 글
[Oracle] DBLink @ (1) | 2023.10.11 |
---|---|
[Oracle] Merge Into (0) | 2023.09.18 |
[Oracle] Trigger (0) | 2023.09.12 |