วันอังคารที่ 7 กรกฎาคม พ.ศ. 2558

DECODE เป็นการเขียน เงื่อนไข บนชุดคำสั่ง select

 DECODE เป็นการเขียน เงื่อนไข บนคำสั่ง select ครับ เหมือน CASE  -WHEN -  THEN  - ELSE  - END
ถ้าเข้าเงื่อนไขที่กำหนด ให้กระทำอะไรก็เขียนไป
เช่น  ถ้าผมจะลองดูว่าถ้าจะเพิ่มเงินเดือน ให้แต่ละแผนก (jobid) เงินเดือนจะเพิ่มเป็นเท่าไหร่ โดยมีเงื่อนไขดังนี้
แผนก IT_PROG            เพิ่มอีก 10%
แผนก ST_CLERK         เพิ่มอีก 15%
แผนก SA_REP              เพิ่มอีก 20%
แผนก  อื่นๆ       ให้แสดง salary ปัจจุบันออกมา ไม่เพิ่มให้

SELECT      last_name
     ,               job_id, salary
     ,              DECODE(job_id, 'IT_PROG',  1.10*salary,
                                                  'ST_CLERK', 1.15*salary,
                                                  'SA_REP',   1.20*salary,
                                                  salary)  AS  UPDATE_SALARY
FROM   employees    ;

ถ้าใช้ตั้งแต่ version 9i เป็นต้นมา  สามารถใช้ CASE-WHEN-THEN-ELSE-END ได้เลยครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น