NVL, DECODE, CASE
SELECT BONUS*SALARY FROM EMPLOYEE;
SELECT NVL(BONUS, 0)*SALARY FROM EMPLOYEE;
NVL
μ λ μ²λ¦¬ ν¨μ
λ‘, NULL
λ‘ λμ΄ μλ 컬λΌμ κ°μ μ§μ ν μ«μ νΉμ λ¬Έμλ‘ λ³κ²½
νμ¬ λ¦¬ν΄νλ€.
NVL(λ°μ΄ν°λ₯Ό μ²λ¦¬ν 컬λΌλͺ
/κ°, λ³κ²½νκ³ μ νλ κ°)
μ νμμΌλ‘ μμ±νλ€.
SELECT DEPT_CODE FROM EMPLOYEE ORDER BY DEPT_CODE DESC;
SELECT NVL(DEPT_CODE, 'D0') FROM EMPLOYEE ORDER BY DEPT_CODE DESC;
-- μ΄λ¦, λΆμμ½λλ₯Ό μΆλ ₯νμ¬λΌ
-- λ¨, λΆμμ½λκ° nullμΈ μ¬λμ λΆμμ½λκ° 'μμ' μΌλ‘ μΆλ ₯νμμ€
SELECT EMP_NAME "μ΄λ¦", NVL(DEPT_CODE, 'μμ') "λΆμμ½λ" FROM EMPLOYEE;
-- μ±λ³ νμνκΈ°
SELECT EMP_NAME, EMP_NO,
DECODE(SUBSTR(EMP_NO, 8, 1), '1', 'λ¨', '2', 'μ¬', '3', 'λ¨', '4', 'μ¬', 'κΈ°ν') "μ±λ³(DECODE)"
FROM EMPLOYEE;
DECODE
λ μ½κ² λ§ν΄ IFλ¬Έ
μΌλ‘, IF-THEN-ELSEλ¬Έμ μμ
μ μννμ¬ μ‘°κ±΄λΆ μ‘°ν
λ₯Ό νΈλ¦¬νκ² μννλ€.
DECODE(μ§μ νλͺ©, IF, μ°Έ, ELSE IF, μ°Έ, ,,, ELSE.)
μ νμμΌλ‘ μμ±νλ€. λ§μ§λ§μ μ§μ΄ μλ§λ νλλ ELSE(DEFAULT)
λ‘, ν΄λΉνμ§ μλ λͺ¨λ κ°μ μΉν
νλ€.
-- μ±λ³ νμνκΈ°
SELECT EMP_NAME, EMP_NO,
CASE
WHEN SUBSTR(EMP_NO, 8, 1) = '1' THEN 'λ¨'
WHEN SUBSTR(EMP_NO, 8, 1) = '2' THEN 'μ¬'
WHEN SUBSTR(EMP_NO, 8, 1) = '3' THEN 'λ¨'
WHEN SUBSTR(EMP_NO, 8, 1) = '4' THEN 'μ¬'
ELSE '무'
END "μ±λ³(CASE)"
FROM EMPLOYEE;
DECODEκ° IFλ¬Έμ΄λΌλ©΄, CASE
λ SWITCH-CASEλ¬Έ
μΌλ‘, μ¬λ¬ κ°μ§ κ²½μ°μ μ ν
μ ν μ μλ κΈ°λ₯μ μ 곡νλ€. (λ²μκ° κ°λ₯)