Oracle DBMS에서 SQL문을 만들때 프로그램에서처럼 if then else 문을 사용할 수 있습니다.
두가지 방법이 있는데, decode 와 case when 문장입니다.
decode(컬럼, 값1, 리턴1, 값2, 리턴2, 리턴3);
-- decode 문 안에서 decode 문 중첩해서 사용 가능.
-- 해석: "컬럼=값1" 인 경우 리턴1, "컬럼=값2" 인 경우 리턴2, 나머지는 리턴3
decode 문은 equal(=) 조건에 해당하는 형태로 사용합니다.
좀더 if then else 문처럼 다양한 표현식을 쓰고자 하는 경우에는 case when 문이 더 적합합니다.
1)
case 컬럼/식
when 값1 then 리턴1
when 값2 then 리턴2
else 리턴3
end
2)
case
when 조건식1 then 리턴1
when 조건식2 then 리턴2
else 리턴3
end
case when 문장은 위에서처럼 2가지 형태로 사용이 가능합니다.
아래는 사용예~
1) decode 문 사용예~
2) case when 문 사용예~
단순한 if 문 비교의 경우는 decode 나 case when 어떤 것을 쓰더라도 똑같은 결과를 만들어낼 수 있습니다.
'IT관련' 카테고리의 다른 글
오라클 ora_hash() 함수 - Input 값에 대한 해시값을 리턴해주는 (0) | 2020.05.18 |
---|---|
오라클 DBMS 내에서 무료로 제공하는 머신러닝 알고리즘 (Machine Learning Algorithm) (0) | 2020.05.16 |
Oracle SQL Developer 메뉴 인터페이스 한글, 영문 변환 Change UI Language (0) | 2020.05.08 |
오라클 에러 정보 (ORA-01950) - no privileges on tablespace 'USERS' (0) | 2020.04.22 |
Oracle 19c 에서 멀티테넌트 DB 생성 (Create Multitenant Database) (0) | 2020.04.16 |