������Ǥ� PostgreSQL �ǻ��Ѳ�ǽ�� SQL ���ξ�P�ˤĤ����������ޤ���
Tip: ���������������P���ȯŸ������ǽ�������ϡ����ɽ����˭�٤ʥץ���������ǥ��ȥ��ɥץ���������Ҥ��뤳�ȤDz�褵��ޤ���
CASE WHEN condition THEN result [WHEN ...] [ELSE result] END
SQL �� CASE ����¾�θ���� if/else ��ʸ����������̾�ξ�P�Ǥ���CASE ��ϼ���ͭ���ʰ��֤Ǥ���Фɤ��Ǥ���Ѳ�ǽ�Ǥ�������Ȥ� �������η�̤��֤����Ǥ����⤷��̤����Ǥ���� CASE �����ͤ� result (���) �Ȥʤ�ޤ����⤷��̤����Ǥ����Ʊ���褦�ˤ��Ƹ��³�� WHEN �礬Ĵ�٤��ޤ���WHEN �� ��� �ΤҤȤĤ�Ǥʤ���硢CASE �����ͤ� ELSE ��� result (���)�ˤʤ�ޤ���ELSE �礬̵���ɤξ��Ȥ���פ��ʤ���硢��̤� NULL �Ǥ���
�ҤȤĤ�����ޤ���
=> SELECT * FROM test; a --- 1 2 3 => SELECT a, CASE WHEN a=1 THEN 'one' WHEN a=2 THEN 'two' ELSE 'other' END FROM test; a | case ---+------- 1 | one 2 | two 3 | other
���٤Ƥ� result (���)���Υǡ�������ñ��ν��Ϸ��˶�������ʤ���Фʤ�ޤ��ܺ٤� Section 5.6 �Ȥ���������
CASE expression WHEN value THEN result [WHEN ...] [ELSE result] END
����"��ά��" CASE ���Ͼ�˵��Ҥ������̷�����������̤��ѷ��Ǥ�����P�Ϸ����졢��������Τ����Ĥ���ޤ� WHEN ��Τ��٤Ƥ��ͤ���Ӥ���ޤ�����������Τ����Ĥ���ʤ���硢ELSE ��� result (���)(�⤷���� NULL) ���֤���ޤ�������� C ����� switch ��ʸ�˻��Ƥ��ޤ���
�����ϴ�ά����ȤäƼ��Τ褦�˽��Ȥ��Ǥ��ޤ��� CASE ��ʸ��
=> SELECT a, CASE a WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'other' END FROM test; a | case ---+------- 1 | one 2 | two 3 | other
COALESCE(value[, ...])
COALESCE �ؿ��� NULL �Ǥʤ����Ȥκǽ�ΰ������֤��ޤ����ǡ�����ɽ������Ū�Ǽ��Ф��ݡ�NULL �ͤ�����˥ǥե�����ͤ�Ȥ������Ȥ��������ʤ��Ȥ�����ޤ���������Ǥ���
SELECT COALESCE(description, short_description, '(none)') ...
NULLIF(value1, value2)
NULLIF �ؿ��� value1 �� value2 ����������硢�ޤ����ξ��˸¤äƤΤ�NULL ���֤��ޤ�������¾�ξ��� value1 ���֤��ޤ��������Ȥäƾ嵭�� COALESCE ����εձ黻��¹Ԥ����뤳�Ȥ��Ǥ��ޤ���
SELECT NULLIF(value, '(none)') ...
Tip: COALESCE �� NULLIF �ؿ��� CASE ����ñ�ʤ��άɽ���Ǥ��������μ��Ͻ���������ʳ��Ǽºݤˤ� CASE �����Ѵ�����ơ�����³�������Ǥ� CASE ���갷�äƤ���褦�˸��ʤ���ޤ����������äơ� COALESCE �ޤ��� NULLIF �� ���äƻ��Ѥ���ȡ�CASE �˴�Ϣ�������顼��å�������ɽ������뤳�Ȥ�����ޤ���