18 August 2008

Replace NULL with values

กรณีที่ต้องการเปลี่ยนค่า NULL เป็นค่าอื่นตามที่เราต้องการ ใน SQL statement ของ DB2 สามารถใช้ function ที่ชื่อว่า "COALESCE" โดยมี syntax ดังนี้

COALESCE(checking_col, replace_value)

ซึ่งสามารถเอาไปใช้ใน select clause หรือ where clause ก็ได้ เช่น

SELECT COALESCE(S1993.DEPTNO,S1994.DEPTNO) AS DEPT, S1993.SALES, S1994.SALES

FROM S1993 FULL JOIN S1994 ON S1993.DEPTNO = S1994.DEPTNO
ORDER BY DEPT;


SELECT * FROM GRADES
WHERE COALESCE(SCORE1,0) + SCORE2 > 100;


อีกวิธีหนึ่งใช้ case เอาแต่น่าจะใช้ได้ใน select clause เท่านั้น

SELECT CASE WHEN e1 IS NOT NULL THEN e1 ELSE e2 END
FROM SALES;

No comments: