����Ǥ�PostgreSQL�ǻ��Ѳ�ǽ��SQL���ξ�P�ˤĤ����������ޤ���
�ƥ��å�: ���������������P���ȯŸ������ǽ�������ϡ����ɽ����˭�٤ʥץ���������ǥ��ȥ��ɥץ���������Ҥ��뤳�ȤDz�褵��ޤ���
SQL��CASE����¾�θ����if/else��ʸ������������Ѿ�P�Ǥ���
CASE WHEN condition THEN result [WHEN ...] [ELSE result] END
CASE��ϼ���ͭ���ʰ��֤Ǥ���Фɤ��Ǥ���Ѳ�ǽ�Ǥ���condition�Ȥ�boolean���η�̤��֤����Ǥ����⤷��̤����Ǥ����CASE�����ͤ�result�Ȥʤ�ޤ����⤷��̤����Ǥ����Ʊ���褦�ˤ��Ƹ��³��WHEN�礬Ĵ�٤��ޤ���WHEN��condition��1�Ĥ�Ǥʤ���硢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���Υǡ�������ñ��ν��Ϸ��˸ߴ������ʤ���Фʤ�ޤ��ܺ٤���10.5�Ȥ��Ƥ���������
�ʲ���"��ά��"CASE���Ͼ�˵��Ҥ������̷�����������̤��ѷ��Ǥ���
CASE expression WHEN value THEN result [WHEN ...] [ELSE result] END
expression�Ϸ����졢��������Τ����Ĥ���ޤ�WHEN��ǻ��ꤵ�줿���Ƥ�value����Ӥ���ޤ�����������Τ����Ĥ���ʤ���硢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
CASE���ϡ���̤���ꤹ�뤿���ɬ�פǤϤʤ�������ޤä���ɾ�����ޤ����㤨�С��ʲ���0�������顼���ɤ��������ˡ�Ǥ���
SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END;
COALESCE
(value [, ...])
COALESCE
�ؿ��ϡ�NULL�Ǥʤ����Ȥκǽ�ΰ������֤��ޤ������Ƥΰ�����NULL�ξ��ˤΤ�NULL���֤���ޤ����ǡ�����ɽ������Ū�Ǽ��Ф��ݡ�NULL�ͤ�����˥ǥե�����ͤ����Ѥ���ޤ����ʲ�������ޤ���
SELECT COALESCE(description, short_description, '(none)') ...
CASE��Ʊ�͡�COALESCE
�Ϸ�̤���ꤹ�뤿���ɬ�פǤʤ�������ɾ�����ޤ��Ĥޤꡢ��NULL���������Ĥ���С����α�¦�ˤ��������ɾ������ޤ�����SQLɸ��ؿ���NVL
��IFNULL
������ε�ǽ������¾�Τ����Ĥ��Υǡ����١��������ƥ�ǻ��Ѥ���Ƥ��ޤ���
NULLIF
(value1, value2)
NULLIF
�ؿ��ϡ�value1��value2����������硢NULL�ͤ��֤��ޤ���
����¾�ξ���value1���֤��ޤ���
�����Ȥäơ��嵭��COALESCE
����εձ黻��¹ԤǤ��ޤ���
SELECT NULLIF(value, '(none)') ...
�⤷value1��(none)�Ǥ���С�NULL�ͤ��֤��ޤ�������¾�ξ���value1���֤��ޤ���
GREATEST
(value [, ...])
LEAST
(value [, ...])
GREATEST
��LEAST
�ؿ��Ͽ��ͤ������餢�äƤ⡢�����椫������ͤ⤷���ϺǾ��ͤ����ޤ���ɾ����������Ƥο��ͤϡ���̤Ȥ���������ǡ����η��ȶ��̤η����Ѵ��Ǥ��ʤ��ƤϤʤ�ޤ���ʾܺ٤���10.5�Ȥ��Ƥ��������ˡ��ꥹ�Ȥ����NULL�ͤ�̵�뤵��ޤ������Ƥ��ͤ�NULL��ɾ�����줿���˸¤äƷ�̤�NULL�ˤʤ�ޤ���
GREATEST
�����LEAST
��SQLɸ��˺ܤäƤ��ޤ������̤�����ĥ�Ǥ���