CASE 式は、検索または単純のどちらかのタイプとすることができます。
CASE
WHEN CREDIT_LIMIT > 2999 THEN 'A'
WHEN CREDIT_LIMIT > 1999 THEN 'B'
WHEN CREDIT_LIMIT > 999 THEN 'C'
WHEN CREDIT_LIMIT > 499 THEN 'D'
このタイプでは、CASE キーワードの直後に式がありません。
それぞれの WHEN 文節には、それがキーワードの後に出現する順序で評価される検索条件が含まれます。
上記の例では、貸付限度値が 3000 以上であれば評価「A」が割り当てられ、 貸付限度値が 2000 から 2999 までの間であれば評価「B」が割り当てられ、以下同様となります。
CASE CREDIT_LIMIT
WHEN 3000 THEN 'A'
WHEN 2000 THEN 'B'
WHEN 1000 THEN 'C'
WHEN 500 THEN 'D'
キーワードの後の式 (この例では、CREDIT_LIMIT) は、式の値と WHEN 文節との間に一致が見つかるまで、それぞれの WHEN 文節とそれが出現する順序で比較されます。
単純 CASE ステートメントには、WHEN 文節に値式を含める必要があり、
検索条件を含めることはできないという制約があります。
上記の例では、貸付限度値が 3000 であれば評価「A」が割り当てられ、 貸付限度値が 2000 であれば評価「B」が割り当てられ、以下同様となります。 WHEN 文節で指定されていない貸付限度値に評価を割り当てることはできません。