Рубрика: Функції перетворення і Умовні вирази
Спрощує умовні запити, роблячи роботу вираження CASE або оператора IF-THEN-ELSE:
Функція DECODE декодує вираз способом, подібним логіці IF-THEN-ELSE, яка використовується в різних мовах. Функція DECODE декодує вираз після порівняння його з кожним пошуковим значенням. Якщо вираз є тим же самим, як пошукове. результат повертається.
Якщо значення за замовчуванням опускається, значення null повертається, коли пошукове значення не відповідає жодному із значень результату.
Використання Функції DECODE
У SQL-операторі на малюнку тестується значення JOB_ID. Якщо JOB_ID є IT_PROG, збільшення зарплати становить 10%; якщо JOB_ID є ST_CLERK, збільшення зарплати становить 15%; якщо JOB_ID є SA_REP, збільшення зарплати становить 20%. Для всіх інших типів роботи збільшення зарплати не відбувається.
Той же самий оператор може бути виражений в псевдокоді як оператор IF-THEN-ELSE:
IF job_id = 'IT_PROG' THEN salary = salary * 1.10
IF job_id = 'ST_CLERK' THEN salary = salary * 1.15
IF job_id = 'SA_REP' THEN salary = salary * 1.20
ELSE salary = salary
Приклад використання Функції DECODE
Виведіть на екран застосовується податкову ставку для кожного співробітника у відділі 80:
Цей малюнок показує інший приклад використання функції DECODE. У цьому прикладі Ви визначаєте податкову ставку для кожного співробітника у відділі 80, грунтуючись на щомісячної зарплати. Податкові ставки такі: