์ค๋ผํด Decode ํจ์
์ค๋ผํด์์๋ DECODE ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. DECODE ํจ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
DECODE(expression, search1, result1, search2, result2, ..., default)
์ ๊ตฌ๋ฌธ์์ expression์ ๊ฒ์ฌํ ๊ฐ์ด๊ณ , search๋ ํด๋น ๊ฐ๊ณผ ๋น๊ตํ ๊ฐ์ด๋ฉฐ, result๋ ํด๋น ๊ฐ๊ณผ ๋น๊ตํ ๊ฐ์ด ์ผ์นํ ๊ฒฝ์ฐ ๋ฐํํ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ ๋๋ค. default๋ ๋ชจ๋ ๊ฒ์ ๊ฐ์ด ์ผ์นํ์ง ์์ ๊ฒฝ์ฐ ๋ฐํํ ๊ธฐ๋ณธ๊ฐ์ ๋ํ๋ ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ SQL ๋ฌธ์ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
SELECT emp_name,
DECODE(department_id,
10, 'IT',
20, 'HR',
'Other') AS department
FROM employees;
์ SQL ๋ฌธ์์๋ employees ํ ์ด๋ธ์์ emp_name๊ณผ department_id๋ฅผ ์กฐํํ๋ฉด์ department_id ๊ฐ์ด 10์ด๋ฉด 'IT', 20์ด๋ฉด 'HR', ๊ทธ ์ธ์ ๊ฐ์ด๋ฉด 'Other'๋ฅผ department ์ปฌ๋ผ์ ๋ฐํํฉ๋๋ค.
DECODE ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ด ๋งค์ฐ ์ ์ฉํ ํจ์์ ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฐ์ด ํ์ํ ๋ DECODE ํจ์๋ฅผ ์ ์ ํ ํ์ฉํ๋ฉด ํจ๊ณผ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.