CASE (Azure Stream Analytics)

一連の条件を評価して、考えられる結果式のうちの 1 つを返します。

CASE 式には 2 つの形式があります。

  • 単純 CASE 式では、1 つの式を一連の単純式と比較して結果を決定します。

  • 検索 CASE 式では、一連のブール式を評価して結果を判定します。

どちらの形式でも ELSE 引数が必要です。

CASE は、有効な式を使用できる任意のステートメントや句で使用できます。 たとえば、SELECT などの式や、WHERE、HAVING などの句で使用できます。

構文

単純 CASE 式:

CASE input_expression
     WHEN when_expression THEN result_expression [ ...n ] 
     ELSE else_result_expression
END  

検索 CASE 式:

CASE  
     WHEN Boolean_expression THEN result_expression [ ...n ]
     ELSE else_result_expression  
END  

引数

input_expression

単純 CASE 形式を使用した場合に評価される式です。 評価された値は、 when_expressionと比較されます。

WHEN when_expression

単純な CASE 形式を使用する場合に input_expression が比較される式です。 when_expressionsの種類は必ずしも一致する必要はありません。

WHEN boolean_expression

検索された CASE 形式を使用するときに評価されるブール式です。 この式が true と評価された場合は、対応する result_expression が返されます。

THEN result_expression

input_expressionが (単純な CASE 形式で) when_expression等しい場合、またはboolean_expressionが true (検索された CASE 形式) と評価されたときに返される式です。

ELSE else_result_expression

TRUE に評価された条件がない場合に返される式です。

の戻り値の型 :

result_expressionelse_result_expressionの型のセットから最も優先順位の高い型です。

単純な CASE 式で select を使用する:

  SELECT
    CASE vehicleType
      WHEN 'S' THEN 'Sedan'
      WHEN 'T' THEN 'Truck'
      WHEN 'V' THEN 'Van'
      ELSE NULL
    END as vehicleTypeName
  FROM vehicles

検索された CASE 式で select を使用する:

  SELECT
    CASE
      WHEN temperature < 60 THEN 'Alert'
      ELSE 'OK'
    END as currentStatus
  FROM sensor