1. CASE ... WHEN ... ELSE ... END


gender 필드값이 'm'이면 '남성', 'f'이면 '여성', 그 외에는 '뭐냐?'로 가져옴


SELECT name,
    CASE WHEN gender='m' THEN '남성'
             WHEN gender='f'   THEN '여성'
             ELSE '뭐냐?'
    END
    FROM member;


나이가 10보다 작으면 '어린이', 10보다 크고 20보다 작으면 '청소년', 20보다 크면 '어른'


SELECT name,
    CASE WHEN age<10 THEN '어린이'
             WHEN age<20 THEN '청소년'
             ELSE '어른'
    END
    FROM member;


2. COALESCE(value1 [, ...])


name값이 있으면 name을, NULL이면 'NOBODY'를 가져옴


SELECT COALESCE(name, 'NOBODY') FROM member;


3. NUlLIF(value1, value2)


name이 'NOBODY'이면 NULL을, 아니라면 name 값을 반환

value1, value2가 같으면 NULL을, 다르면 인수1 을 반환.


SELECT NULLIF(name, 'NOBODY') from member;


참고: http://www.postgresql.org/docs/8.4/static/functions-conditional.html