| |
|
|
| |
|
|
| Mit Hilfe der DECODE-Funktion lassen sich unter anderem
Fallunterscheidungen innerhalb von SQL durchführen. DECODE
vergleicht "expr" (Spaltenwert) mitjedem "search"
und gibt "result" zurück, wenn beide Werte
gleich sind. Wird keine Gleichheit festgestellt, wird - sofern vorhanden
- "default" zurückgegeben, sonst NULL. "search"
und "expr" sollten vom selben Datentyp sein, "result"
hat den Datentyp des ersten für "result" ausgegebenen
Wertes. |
| Das folgende Beispiel geht davon aus, daß die
Mitarbeiter einen Bonus erhalten, der vom ausgeübten Beruf
abhängig ist. |
| |
| Beispiel: |
SELECT ename, job, sal,
|
DECODE (job, 'PRESIDENT', sal * 1.5,
|
'MANAGER', sal * 1.0,
|
'SALESMAN', sal * 0.6,
|
500) bonus
|
FROM emp;
|
| Ergebnis: |
ENAME JOB SAL_BONUS
|
smith clerk 800 500
|
allen salesman 1600 960
|
king president 5000 7500
|
.......................................
|
|
|
| |
|
|