CASE式

条件付きの値を指定します。単純なCASE式と検索対象のCASE式がサポートされています。CASE式は、式を任意の場所で指定でき、必要に応じて何度でも使用できます。

一連のIF文を使用するかわりに、CASE式を使用すると、条件が満たされた場合に適切な値を返す一連の条件を使用できます。CASE式を使用すると、問合せを簡略化し、効率のよいコードを記述できます。

SQL構文

検索対象のCASE式の構文は、次のとおりです。

CASE
  {WHEN SearchCondition THEN Expression1}[…] 
   [ELSE Expression2]
END

単純なCASE式の構文は、次のとおりです。

CASE Expression 
  {WHEN CompExpression THEN Expression1}[…]
   [ELSE Expression2] 
END

パラメータ

CASEには、次のパラメータがあります。

パラメータ 説明

WHEN SearchCondition

検索条件を指定します。この句は副問合せを指定できません。

WHEN CompExpression

比較するオペランドを指定します。

Expression

CompExpressionと比較する最初のオペランドを指定します。

THEN Expression1

結果の式を指定します。

ELSE Expression2

条件を満たさない場合の結果の式を指定します。ELSE句を指定しないと、TimesTenによってELSE NULL句が式に追加されます。

説明

CASE式は、INSERT文の値の句の中では指定できません。

色の値を指定する検索対象のCASE文を指定するには、次の文を使用します。

SELECT CASE 
  WHEN color=1 THEN 'red' 
  WHEN color=2 THEN 'blue' 
  ELSE 'yellow' 
END FROM cars;

色の値を指定する単純なCASE文を指定するには、次のようにします。

SELECT CASE color 
  WHEN 1 THEN 'red' 
  WHEN 2 THEN 'blue' 
  ELSE 'yellow' 
END FROM cars;