๋ค์ด๊ฐ๊ธฐ
์ค๋ผํด์์ if๋ฌธ๊ณผ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ decode ํจ์๊ฐ ์๋ค.
decode ํจ์๋ ์กฐ๊ฑด์ด ๋ง์์ง๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ ๋ณต์กํด์ง๋ค.
์ค๋ผํด์์ decode ํจ์๋ฅผ ๋์ฒดํ ์ ์๋ ๊ธฐ๋ฅ์ด case ํํ์์ด๋ฉฐ, ๊ฐ๋ ์ฑ์ด ์ข๊ณ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
ํ์ต๋ชฉํ
decode , case ~ when ํจ์์ ๋ํด ์์๋ณด์
๐ ์กฐ๊ฑดํจ์
- ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ ํจ์.
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ if ์กฐ๊ฑด๋ฌธ์ด๋ switch๋ฌธ๊ณผ ๋น์ทํ๋ค.
๐ decode ํจ์ ๋ฌธ๋ฒ
- PL/SQL ์์ ์ฌ์ฉํ ์ ์๋ค.
- ๊ฐ์ ๋ํ ๋น๊ต๋ฅผ ์ํํด์ ์์ฑํ ์ฝ๋๋ฅผ ์คํํ ๋.
- ๊ฐ์ด ๋น๊ต๋๋ ์ํฉ์์ ์์ฑ๋ ์ฝ๋๊ฐ ์งง์ ๋ ์ฌ์ฉ.
- case ~ when ๊ณผ ๋น๊ต.
--๋ฌธ๋ฒ)
decode( ๊ฐ, ๋น๊ต๊ฐ, ์คํ์ฝ๋, ๋น๊ต๊ฐ, ์คํ์ฝ๋,,, ๋น๊ต๊ฐ์ด ์์ ๋ ์คํ์ฝ๋ );
- ์์ -
--์กฐ๊ฑดํจ์--
--decode(์ปฌ๋ผ๋ช
, ๋น๊ต๊ฐ, ์ํ์ฝ๋, ๋น๊ต๊ฐ, ์ํ์ฝ๋ ,,๋น๊ต๊ฐ์ด ์์ ๋ ์ํ
--01
select decode (4,1,'์ผ',2,'์ด',3,'์ผ','๋ชจ๋ฆ')
from dual;
--02
select empno,ename,hiredate,
decode(to_char(hiredate,'d'),
1,'์ผ',2,'์',3,'ํ',4,'์',5,'๋ชฉ',6,'๊ธ','ํ ')||'์์ผ' week
from emp;
๐ case ~ when ํจ์ ๋ฌธ๋ฒ
์กฐํ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ฝ๋๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ค.
- ๋น๊ตํ์ฌ ์คํ๋ ์ฝ๋๊ฐ ๊ธธ ๋ ์ฌ์ฉํ๋ค.
- ๋น๊ต ๊ฐ์ ๋ฒ์๋ฅผ ๋น๊ตํ ์ ์๋ค. ( ๊ฐ์ ๊ฐ๋ง ๋น๊ต ๊ฐ๋ฅ )
- decode๋ PL/SQL ์์ ์ฌ์ฉํ ์ ์์ง๋ง, case๋ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
- select์ ์กฐํ์ปฌ๋ผ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ select๋ฌธ์ ๋ณต์ก๋๊ฐ ํฅ์๋๋ค.
--๋ฌธ๋ฒ)
case ์ปฌ๋ผ๋ช
when ๋น๊ต๊ฐ then ์คํ์ฝ๋
when ๋น๊ต๊ฐ then ์คํ์ฝ๋
.
.
else ๋น๊ต๊ฐ์ด ์์ ๋ ์คํ์ฝ๋
end alias
- ์ค์ต -
--์ฌ์ํ
์ด๋ธ์์ ์ฌ์๋ฒํธ,์ฌ์๋ช
,๋งค๋์ ๋ฒํธ,๋งค๋์ ๋ช
์ ์กฐํ
--๋จ,๋งค๋์ ์ ๋๋ค์์ ์๋์ ๊ฐ์ด ๋ณด์ฌ์ค๋ค.
--7788-๊น๋งค๋์ , 7782-์ด๋งค๋์ ,7698-๋ฐ๋งค์ง์ , 7566-ํ๋งค๋์ , 7839-์ก๋งค๋์
select empno,ename,mgr,
case mgr when 7788 then '๊น๋งค๋์ '
when 7782 then '์ด๋งค๋์ '
when 7698 then '๋ฐ๋งค๋์ '
when 7566 then 'ํ๋งค๋์ '
when 7839 then '์ก๋งค๋์ '
else '๋งค๋์ ์์'
end mgr_nick
from emp;
01. https://gent.tistory.com/์ค๋ผํด case when ํํ์ ์ฌ์ฉ๋ฒ
[Oracle] ์ค๋ผํด CASE WHEN ํํ์ ์ฌ์ฉ๋ฒ
์ค๋ผํด์์ if ๋ฌธ๊ณผ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ DECODE ํจ์๊ฐ ์๋ค. ๊ทธ๋ฌ๋ DECODE ํจ์๋ ์กฐ๊ฑด์ด ๋ง์์ง๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ ๋ณต์กํด์ง๋ฉฐ, ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ค๋ผํด SQL์์๋ง ์ฌ์ฉํ ์ ์๋ ๋นํ์ค ํจ์์ด
gent.tistory.com
https://chocoball3.tistory.com/
[SQL] ์ค๋ผํด CASE WHEN THEN ํํ์ ์ฌ์ฉํ๊ธฐ
SQL์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ ๋ ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ํํํ ์ ์๋ CASE๋ฌธ์ด ์กด์ฌํฉ๋๋ค. DECODE ํจ์์ ๋น์ทํ์ง๋ง ๋์ฑ ํ์ฅ์ ์ ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ง๋ง DECODE๋ณด๋ค๋ ์กฐ๊ธ ๋ณต์ก
chocoball3.tistory.com
02. https://earth-95.tistory.com/์ค๋ผํด ์กฐ๊ฑด ํจ์ ์ค๋ช
[Oracle] Oracle Function(์ค๋ผํด ํจ์) - DECODE ํจ์์ CASE๋ฌธ
๋ค์ด๊ฐ๊ธฐ ์ ์ ์ด ํฌ์คํ ์ ์ค๋ผํด๋ก ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ(์ด์งํ ์ )์ ์ฝ์ผ๋ฉด์ ๊ธฐ์ตํ๊ณ ์ ํ๋ ๋ด์ฉ ๋ฐ ์ถ๊ฐ์ ์ผ๋ก ์์๋ณธ ๋ด์ฉ์ ๋ด์์ต๋๋ค. ์ฑ ์ ์ฒด ๋ด์ฉ์ ๋ณด์๊ณ ์ถ์ผ์ ๋ถ์ ์ฑ
earth-95.tistory.com